我正在写一个脚本来通过sftp传输一些文件.我希望通过使用sshfs挂载目录来进行传输作为本地传输,因为它使得创建所需的目录结构变得更加容易.我遇到的问题是我不确定如何处理没有网络连接的情况.基本上我需要一种方法来判断sshfs命令是否失败.如果无法安装远程目录,如何使脚本保释?
只测试是否sshfs
返回0(成功):
sshfs user@host:dir mountpoint || exit 1
以上工作原理是因为在bash中逻辑或||
执行短路评估.一个更好的解决方案,允许您打印错误消息如下:
if !( sshfs user@host:dir mountpoint ); then echo "Mounting failed!" exit 1 fi
编辑:
我想指出,这就是你如何在大多数平台上检查几乎所有表现良好的应用程序的成功.- Sparr 1分钟前
确实.详细说明:大多数应用程序在成功时返回0,在失败时返回另一个值.shell知道这一点,因此将返回值0解释为true,将任何其他值解释为false.因此,逻辑或负面测试(使用感叹号).