繁体   English   中英

将变量从python脚本传递到bash脚本

[英]Passing variable from python script to bash script

目前正在尝试将参数从我的python脚本传递到我创建的bash脚本。 如何从python脚本向bash脚本获取用户输入?

这是我的python脚本“ passingParameters.py”的代码,我曾尝试将其变量(循环)发送到bash脚本。 我已经通过将输出发送到另一个我用来读取输入的python脚本来测试了此python脚本(在我调整了代码之后)。

loop = str(sys.argv[1])
subprocess.check_call( ["./test.sh", loop], shell=True)

这是我的bash脚本“ test.sh”的代码。 我已经单独测试了此脚本,以确认当我仅从命令行调用bash脚本时,它确实收到用户输入。

echo "This number was sent from the passParameters.py script: " $1

如果使用shell=True则可执行文件为/bin/sh ,然后调用test.sh但从不看到loop变量。 您可以设置shell=False并将#!/bin/sh到shell脚本中,

#! /bin/sh
echo "This number was sent from the passParameters.py script: " $1

subprocess.check_call( ["./test.sh", loop], shell=False)

或将变量作为字符串传递:

subprocess.check_call( ["./test.sh %s" % loop], shell=True)

shell=True不建议使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM