0

我已经通过 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**存在。

谢谢,-拉吉夫

4

1 回答 1

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 循环实例期间的目录。我希望这对您有所帮助,因为我仍然习惯于在这里发帖。

于 2013-10-16T02:57:17.340 回答