作为BASH脚本的一部分,我需要启动一些带有输入参数的python代码。我也想避免创建临时的* .py文件。
这是我到目前为止所拥有的:
input=123
output=$(
python - <<'END_SCRIPT'
print("$input")
END_SCRIPT
)
echo $output
此代码段将python调用的输出写入到输出变量中。但是,而不是返回“ 123”,而是返回“ $ input”,因为变量在传递到python期间不会被解释。从StdIn读取时,有什么方法可以将输入变量作为参数转发给python?
我猜你在找
input=123
output=$(python - "$input" <<'END_SCRIPT'
import sys
print(sys.argv[1])
END_SCRIPT
)
echo "$output"
(还请注意何时将引号括在shell变量周围。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句