bash: 未找到命令问题 ( sshpass )
bash: command not found issue ( sshpass )
我有 machine A
和 machine B
。从我的 local machine X
,我想 运行 一个 bash 脚本,它将连接到 Machine A
然后到 Machine B
以检查 [=20= 上的包版本].
现在,我在 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
&& 后面的所有内容都作为单独的命令执行。
也许你可以尝试大括号扩展:像这样在大括号中添加两个命令 {command1, command2}
(不确定这是否有效)
如果大括号扩展不起作用,您将不得不重复该命令。
尝试使用 ';'
而不是 '&&'
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/'""
我有 machine A
和 machine B
。从我的 local machine X
,我想 运行 一个 bash 脚本,它将连接到 Machine A
然后到 Machine B
以检查 [=20= 上的包版本].
现在,我在 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
&& 后面的所有内容都作为单独的命令执行。
也许你可以尝试大括号扩展:像这样在大括号中添加两个命令 {command1, command2}
(不确定这是否有效)
如果大括号扩展不起作用,您将不得不重复该命令。
尝试使用 ';'
而不是 '&&'
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/'""