失败的 scp 传输会退出我的脚本吗?

Will a failed scp transfer exit my script?

我有一个 shell 脚本,我正在 运行ning 中,它基本上是 tar 日志文件和 scp 将 tar 从主机转移到远程主机。

如果传输成功,我想在脚本的下一行清除我的日志。如果传输失败我不想清除它们。

我的问题是,如果 scp 由于某种原因(GSM 连接不良)而失败,脚本是否会在 scp 失败时终止,自然不会 运行 下一行的清除,或者做如果 scp 无法清除日志,我需要添加一些东西来保护???干杯。

scp -P $port /tmp/$filename user@host:/home/user/logs/
rm /home/user/logs/*

获得此行为的惯用方法是将其写为

scp ... || exit 1