GNU/Linux >> Linux の 問題 >  >> Linux

混合シェルと python スクリプトは可能ですか?

このシェル構文を使用できます (here document と呼ばれます) Unix 文献):

#!/bin/sh
echo this is a shell script

python <<@@
print 'hello from Python!'
@@

'<<' 演算子の後のマーカーは、任意の識別子を使用できます。ユーザーは、EOF (ファイルの終わり) や EOD (ドキュメントの終わり) などをよく使用します。マーカーが行を開始する場合、シェルはそれをプログラムの入力の終わりとして解釈します。


python の場合 スクリプトは非常に短いです。 python に文字列として渡すことができます -c を使用して オプション:

python -c 'import sys; print "xyzzy"; sys.exit(0)'

または

python -c '
import sys
print("xyzzy")
sys.exit(0)
'

あなたは書くことができます

exec python <<END_OF_PYTHON

import sys

print ("xyzzy")

sys.exit(0)
END_OF_PYTHON

Bash プロセスを Python に置き換え、指定されたプログラムを標準入力で Python に渡します。 (exec Bash プロセスを置き換えます。 <<END_OF_PYTHON 標準入力に END_OF_PYTHON までのすべてを含めるようにします .)


Linux
  1. シェルスクリプトでタイムアウトしますか?

  2. シェルスクリプト:ファイルをディレクトリとサブディレクトリに並べ替えますか?

  3. 関数とパラメータを変数として持つシェルスクリプト?

  1. シェルからPythonスクリプトを実行する方法

  2. Linux シェル スクリプトまたは変数の日付と時刻の書式設定

  3. ユーザーとグループを一覧表示する Python スクリプト

  1. Pythonスクリプトを使用してシェルの作業ディレクトリを変更する

  2. シェルスクリプトを使用して再帰的にフォルダーを作成することは可能ですか?

  3. シェルスクリプトでファイルをコピーして上書きする