用于检查fstab / mtab中给出的已安装路径是否有效的Shell脚本

时间:2013-10-15 18:11:35

标签: shell mount

我已经通过fstab在Linux机器上安装了几台Windows机器。

例如:

*//vmdevmachine/sharedfolder /var/lib/jenkins/Windows/ cifs 
gid=users,file_mode=0664,dir_mode=0775,auto,username=user_name,password=password123*

我有很少的工作要运行,这取决于这样的安装机器。

我的要求:在运行作业之前,我需要(shell脚本)来检查挂载的文件/目录是否有效。

,即从上面的例子中,它需要检查**//vmdevmachine/sharedfolder**是否存在。

谢谢, -Rajiv

1 个答案:

答案 0 :(得分:0)

如果目录是当前安装的,并且没有链接,例如符号链接,我通常会使用如下所示的内容。

if [ ! -d "/var/lib/jenkins/Windows/" ]; then
    exit $? # The script will exit with exit status from If statement.
fi

如果目录(-d)不存在(!),则使用if语句中的退出代码退出。如果您打算做多个目录,可能希望将它们放在一个数组中并快速迭代它们

    files=( "/var/lib/jenkins/Windows/" "/var/lib/jenkins/Windows/2" "/var/lib/jenkins/Windows/3" )

for i in "${files[@]}"
do
    if [ ! -d "$i" ]; then
        exit $? # The script will exit with exit status from If statement.
        fi
done

在上面的for循环示例中,$ i将成为for循环的每个实例中的目录。我希望这可以帮助你,因为我仍然习惯在这里发帖。