[英]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.