我正在尝试寻找一种使用 while
循环来检查特定条件的方法,如果满足该条件,将执行另一个命令。
例如:
while [ -z "$(ls -A test-dir)" ];
do
echo "directory is empty, checking again in 5 seconds"
sleep 5
done
一旦目录中有任何文件,这个循环就会结束,我试图找到一种正确的方法在循环完成时在最后执行另一个命令。
答案 0 :(得分:1)
发现我需要在 while 之后简单地添加最后一个命令:
while [ -z "$(ls -A test-dir)" ];
do
sleep 2
echo "sleeping 2 seconds"
done
echo "reached the end"
最后一条命令只有在循环完成后才会执行。