使用Python将变量传递给bash命令
我正在写一个小脚本,想要在使用Python编程语言时,把一个变量传递给bash命令。比如说:
number = raw_input("digit: ")
接着,我想把这个数字变量放进bash命令里,比如:
ssh 'foo%s.bar'(number) <- where the %s is located id like it be replaced with the input
最后,我想在Python脚本里运行这个bash命令:
ssh foo45.bar
我该怎么做才能实现这个呢?
1 个回答
2
import subprocess
number = raw_input("digit: ")
subprocess.call(('ssh', 'foo{}.bar'.format(number)))
如果你想找一些好资料,可以看看Python的文档,特别是关于字符串格式化和子进程的部分。
如果你想把上面的内容和sshpass结合起来,可以把子进程的调用替换成:
subprocess.call(('sshpass', '-p', 'YOUR_PASSWORD', 'ssh', '-o', 'StrictHostKeyChecking=no', 'foo{}.bar'.format(number)))