我正在尝试创建一个脚本来检查/ 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合作,所以我真的很擅长。
答案 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
只查找实际存在的脚本。