我试图了解 Fabric 如何在一台机器上使用多个命令。
我需要在每台主机(数千台主机)上运行多个命令,并且想知道什么是最好的。
使用多次运行:
res_1 = run(command_1)
res_2 = run(command_2)
...
...
res_n = run(command_n)
Or:
res = run(command_1 && command_2 && ... command_n)
res.splitlines()
res_1 = res[0]
res_2 = res[1]
...
...
res_n = res[n-1]
我想知道的是 Fabric 如何处理多次运行,它会打开多个会话还是在同一个会话中执行所有命令?
无论您是否使用多个run
呼叫或单个run
打电话给&&
,据我所知,fabric 将仅打开一个网络连接。两者之间的区别在于,每一个新的run
在不同的环境中执行。例如你可以尝试这个。
run('ls')
run('cd /tmp/')
run('ls')
两次都会显示您的主目录列表。但如果你尝试这个
run('ls')
run('cd /tmp/ && ls')
它会第一次向您显示您的主目录,然后列出/tmp/
。因此,如果您希望从一个命令保留状态到另一个命令,您应该这样做run('cmd1 && cmd1')
但如果你不介意的话,你应该使用多个run
calls.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)