这是我的剧本:
dir="/path/to/a/folder"
for d in /Users/*
do
if [ -e $d/Desktop/*file ]
then
$dir/./script.sh
exit
else
/usr/bin/osascript <<-EOF
tell application "System Events"
activate
display dialog "Some text"
end tell
EOF
killall MyProgram
fi
done
目前,脚本在用户的桌面上查找一个唯一的文件,然后在文件存在时执行另一个脚本,否则它会杀死MyProgram,并为每个用户执行此操作。
我想要做的是,只有当文件在任何用户的桌面上都不存在时,脚本才会执行else
中的命令,否则只要文件被找到,就会停止循环。脚本和脚本运行。
感谢您的帮助!
答案 0 :(得分:1)
使用另一个变量:
script_found="false"
for d in /Users/*
do
if [ -e $d/Desktop/*file ]
then
script_found="true"
$dir/./script.sh
exit
fi
done
if [ $script_found eq "false" ]
then
# do other stuff
fi
编辑:实际上那是愚蠢的。如果您要在第一个脚本运行后退出,则根本不需要变量:
for d in /Users/*
do
if [ -e $d/Desktop/*file ]
then
$dir/./script.sh
exit # this terminates the whole script
fi
done
# do other stuff