题
我在写一个脚本来一些文件在传输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作为真正的返回值和任何其他值设置为false。因此,逻辑或和负测试(使用感叹号)。
其他提示
我试图检查是否一个目录不是为一个sshfs
装入挂载点。从上面使用例子失败:
if !( mountpoint -q /my/dir ); then
echo "/my/dir is not a mountpoint"
else
echo "/my/dir is a mountpoint"
fi
在错误:-bash: !( mountpoint -q /my/dir ): No such file or directory
我修改我的代码具有以下和过成功:
if (! mountpoint -q /my/dir ); then
echo "/my/dir is not a mountpoint"
else
echo "/my/dir is a mountpoint"
fi
不隶属于 StackOverflow