我有machine A
和machine B
。从我的local machine X
,我想运行一个 bash 脚本,它将连接到Machine A
然后Machine B
检查包版本Machine B
。
现在,我已经安装了两个或更多的软件包Machine B
。
单包版本检查:
sshpass -p 'Password' ssh admin@A.A.A.A -p 30025 "sshpass -p 'Password' ssh B.B.B.B "dpkg -s env.ns | grep -E 'Version|Package' | tr '\n' ',' |sed 's/,$/\n/'""
结果 :
Package: env.ns,Version: 51.0.0n
多包检查:
sshpass -p 'Password' ssh admin@A.A.A.A -p 30025 "sshpass -p 'Password' ssh B.B.B.B "dpkg -s env.ns | grep -E 'Version|Package' | tr '\n' ',' |sed 's/,$/\n/' && dpkg -s agent.ns | grep -E 'Version|Package' | tr '\n' ',' |sed 's/,$/\n/'""
结果 :
Package: env.ns,Version: 51.0.0n
-bash: dpkg: command not found
我无法获得第二个的软件包版本。使用sshpass
,我们可以传递多个命令在主机上运行吗?
预期结果 :
Package: env.ns,Version: 51.0.0
Package: agent.ns,Version: 51.0.0