我喜欢定期将一些数据附加到远程文件,ssh
然后在本地将其删除。例如:
cat some_lines_to_append.txt | ssh [email protected] 'cat >> all_lines_collected.txt'
rm some_lines_to_append.txt
现在我想确保some_lines_to_append.txt
只有当线路传输成功时才会删除。该怎么做?
失败时是否会>>
自行创建某种错误返回代码,或者cat
在这种情况下是否会ssh
传递该返回代码?
shh
如果提前完成,它本身是否会提供非零返回代码?
答案1
cat
成功时将返回 0(零)。
根据ssh
手册:
退出状态
ssh exits with the exit status of the remote command or with 255 if an error occurred.
所以对你来说这就足够了
cat some_lines_to_append.txt |
ssh [email protected] 'cat >> all_lines_collected.txt' &&
rm some_lines_to_append.txt ||
echo 'Error occurred.'