pkill
发现和之间的有趣交互ssh
。在这里记录它以供后代使用:
$ ssh user@remote 'false'; echo $?
1
$ ssh user@remote 'false || echo "failed"'; echo $?
failed
0
$ ssh user@remote 'pkill -f "fake_process"'; echo $?
1
$ ssh user@remote 'pkill -f "fake_process" || echo "failed"'; echo $?
255
似乎示例#4应该与#2具有相同的输出;两者都用代码退出false
并且没有输出。但是,#4 将始终以 code 退出,即使远程命令显式调用. 说明该代码的文档仅表示“发生错误”(超级有用)。pkill -f "fake_process"
1
255
exit 0
ssh
255
用, ,等替换pkill
命令都按预期工作。此外,在本地运行时(而不是通过),这些匹配符合预期。(exit 1)
ls fake_file
kill <non-existent PID>
ssh