如何使用bash检查OS X中是否挂载了文件路径?

fre*_*rik 10 macos bash

如果尚未安装,我该如何执行安装?

这是在OS X 10.9上,这是我目前所拥有的:

#!/bin/bash

# Local mount point
LOCALMOUNTPOINT="/folder/share"

# Perform the mount if it does not already exist
if ...
then
/sbin/mount -t smbfs //user:password@serveraddress/share $LOCALMOUNTPOINT

else
    echo "Already mounted"
fi
Run Code Online (Sandbox Code Playgroud)

ysa*_*oto 19

虽然@ hd1的答案会告诉您该文件是否存在,但并不一定意味着该目录已安装.如果您将此脚本用于不同的计算机或使用不同的挂载点,则该文件可能会存在.我会建议这个

LOCALMOUNTPOINT="/folder/share"

if mount | grep "on $LOCALMOUNTPOINT" > /dev/null; then
    echo "mounted"
else
    echo "not mounted"
fi
Run Code Online (Sandbox Code Playgroud)

请注意,我根据mount机器中的命令输出在grep语句中包含"on" .你说你使用MacOS所以它应该工作,但根据mount输出的命令,你可能需要修改上面的代码.

  • 而不是`>/dev/null`你可以做`grep -q` (2认同)