Macos 如何使用bash检查是否在OS X中装入了文件路径?
如果尚未安装,如何执行安装 这是在OS X 10.9上,这是我目前拥有的:Macos 如何使用bash检查是否在OS X中装入了文件路径?,macos,bash,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 e
#!/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
虽然@hd1的答案告诉您文件是否存在,但这并不意味着目录是否已装入。如果您将此脚本用于不同的计算机或使用不同的装入点,则该文件可能恰好存在。我建议这样做
LOCALMOUNTPOINT="/folder/share"
if mount | grep "on $LOCALMOUNTPOINT" > /dev/null; then
echo "mounted"
else
echo "not mounted"
fi
注意,我根据机器中的
mount
命令输出在grep语句中包含“on”。您说过您使用MacOS,所以它应该可以工作,但是根据mount
命令输出的内容,您可能需要修改上面的代码。这是我在OS X 10.7.5上的shell脚本中使用的内容
df | awk '{print $6}' | grep -Ex "/Volumes/myvolume"
对于OS X 10.10 Yosemite,我必须更改为:
df | awk '{print $9}' | grep -Ex "/Volumes/myvolume"
对于我来说,从这个解决方案中 用那个
# 2 lines
$LOCALMOUNTPOINT="/folder/share" ;
[ -d $LOCALMOUNTPOINT ] && echo "Already mounted $LOCALMOUNTPOINT in OS X" || /sbin/mount -t smbfs //user:password@serveraddress/share $LOCALMOUNTPOINT
这是
关于smb的附加链接,我不太了解
# Here is my solution
$LOCALMOUNTPOINT="/folder/share" ;
[ ! -d $LOCALMOUNTPOINT ] && mkdir $LOCALMOUNTPOINT && /sbin/mount -t smbfs //user:password@serveraddress/share $LOCALMOUNTPOINT || echo already mounted $LOCALMOUNTPOINT
在安装之前,我必须制作一个新文件夹,以便顺利使用
所以我添加了mkdir$LOCALMOUNTPOINT
谢谢你,这个案子让我学到了很多。
祝你今天愉快!!!;) 由于它是awk在这两种情况下找到的行上的最后一个字段,您可以使用
$NF
而不是$6
或$9
。您可以在我的imac(macos 10.13.6)上使用/dev/null
而不是/dev/null
,它只在没有/dev/null
或-q
的情况下工作。。。
# Here is my solution
$LOCALMOUNTPOINT="/folder/share" ;
[ ! -d $LOCALMOUNTPOINT ] && mkdir $LOCALMOUNTPOINT && /sbin/mount -t smbfs //user:password@serveraddress/share $LOCALMOUNTPOINT || echo already mounted $LOCALMOUNTPOINT