linux如果脚本存在于mnt执行脚本中

时间:2013-03-04 20:09:02

标签: linux bash

我正在尝试创建一个脚本来检查/ mnt / sda b c d ...是否存在shell脚本。当它找到脚本时,它需要执行它。 这是我到目前为止所做的:

for x in a1 a2 b1 b2 c1 c2 d1 d2 e1 e2 f1 f2; do /mnt/sd$x/1_drive_check.sh; done

这没关系,但实际上它试图在每个挂载点运行脚本。通常我不在乎,但我需要在控制台中显示最少量的信息。

我知道检查文件是否存在的命令。

if [ -f 1_drive_check.sh ] then
echo 1_drive_check.sh exists!
fi

我不知道如何将两者合并在一起,看看/ sda1或sda2或sdb1等中是否存在1_drive_check.sh然后执行它。我厌倦了热胶枪,但我烧了自己。

仅供参考,因为我习惯于定期与VBS合作,所以我真的很擅长。

2 个答案:

答案 0 :(得分:2)

for ...; do if [ ... ]; then /mnt/sd$x/1_drive_check.sh; fi;done解决方案外,你可以:

find /mnt/ -maxdepth 2 -name '1_drive_check.sh' -executable -exec {} \;

...手动保存添加驱动器。

答案 1 :(得分:1)

只是一个想法...

for script in /mnt/sd[a-f]{1,2}/1_drive_check.sh
do
    $script
done

只查找实际存在的脚本。