bash変数をPythonファイルに渡す

bash変数をPythonファイルに渡す

bash変数を渡したいPythonスクリプトがあります。

強く打つ

while read -r db
do
Printf  "%s\n" ${db} "Found"
done < path/to/file.txt

出力:db1 db2 db3

ファイル.txt

db1
db2
db3

python.py

print(${db},+"_tables.replicate.fix")

出力が必要です:db1 db2 db3

Pythonファイルはbashファイルのdb変数によって保存された内容をどのように知ることができますか?

答え1

シェル変数をスクリプトによって実行されるプログラムに「エクスポート」するdb最も簡単な方法は、これを引数として渡すことです。その後、Pythonコマンドがsys.argv

次のように見えます。

while IFS= read -r db
do
printf  "%s\n" "${db} Found"
python -c 'import sys; print("db: %s" % sys.argv[1])' "$db"
done < path/to/file.txt

関連情報