Bash 脚本:如何检查目录中是否有活动的 sshfs 挂载?

Bash 脚本:如何检查目录中是否有活动的 sshfs 挂载?

如果当前有此代码:

0130: moba(){
0131:     if [ -z "$(ls -A /home/me/Documents/A/B)" ]; then
0132:         echo "Empty"
0133:         sshfs me@domain:/home/C/D /home/me/Documents/A/B/
0134:         cd /home/me/Documents/A/B/
0135:     else
0136:         echo "Not Empty"
0137:         cd /home/me/Documents/A/B/
0138:     fi
0139: }

首先,复制此代码(if 语句部分)并仅检查目录 B 的内容,是否有一种更简单且更可靠的方法来检查挂载是否处于活动状态并“工作”?

由于我对此的经验为零,如果您可以编写 if-Cond,我将非常感激,这样我基本上就可以复制它。

答案1

您可以使用命令的退出状态mountpoint

前任。

steeldriver$ mountpoint ~/Documents/A/B ; echo $?
/home/steeldriver/Documents/A/B is not a mountpoint
1

然后

steeldriver$ sshfs [email protected]:/home/me/Documents ~/Documents/A/B
[email protected]'s password:
steeldriver$
steeldriver$ mountpoint ~/Documents/A/B ; echo $?
/home/steeldriver/Documents/A/B is a mountpoint
0

相关内容