我正在做这件事,
[email protected] ~> ssh <machine> jps | gawk '$2 == "<process>" {print $1}' | xargs kill
kill: sending signal to 75797 failed: No such process
[email protected] ~> echo $?
123
但如果我这样说的话
ssh <machine> "jps | gawk '\$2 == \"<process>\" {print \$1}' | xargs kill "
为什么 ?
答案1
该命令的第二个版本将整个命令(在“ ....”中)发送到服务器以在那里执行,而该命令的第一个版本仅将第一部分发送jps
到服务器,然后使用本地计算机上的输出执行该命令的其余部分。