使用python将变量传递给bash命令

时间:2014-08-13 00:42:53

标签: python linux bash shell automation

我正在创建一个小脚本,我想使用python编程语言将varable传递给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 个答案:

答案 0 :(得分:2)

import subprocess
number = raw_input("digit: ")
subprocess.call(('ssh', 'foo{}.bar'.format(number)))

要获得一些好的阅读,请尝试string formattingsubprocess的python文档。

如果要将上述内容与sshpass集成,请将子进程调用替换为:

subprocess.call(('sshpass', '-p', 'YOUR_PASSWORD', 'ssh', '-o', 'StrictHostKeyChecking=no', 'foo{}.bar'.format(number)))