
我正在做這個,
[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
到伺服器,然後使用輸出執行命令的其餘部分在本地機器上。