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

0 投票
1 回答
1838 浏览
提问于 2025-04-18 17:05

我正在写一个小脚本,想要在使用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)))

撰写回答