📜  bash 等到文件存在 (1)

📅  最后修改于: 2023-12-03 15:13:37.868000             🧑  作者: Mango

监控文件是否存在的bash脚本

在开发过程中,我们经常需要监控一个文件是否存在来决定是否执行某些操作。在bash脚本中,可以使用一些方法来监控文件是否存在。

使用if条件语句
if [ -f /path/to/file.txt ]
then
  echo "File exists."
else
  echo "File does not exist."
fi

使用if条件语句可以很容易判断文件是否存在。-f选项表示测试是否为一个普通文件。如果测试结果为true,则文件存在。否则,文件不存在。

使用while循环
while [ ! -f /path/to/file.txt ]
do
  sleep 1
done
echo "File found."

使用while循环可以持续监控文件是否存在。!表示逻辑非,所以[ ! -f /path/to/file.txt ]表示文件不存在时执行循环体。循环体中使用sleep命令可以使循环每秒钟执行一次,以便及时检测文件是否在某一时刻存在。

使用until循环
until [ -f /path/to/file.txt ]
do
  sleep 1
done
echo "File found."

while循环相反,until循环表示当某个条件为false时执行循环体。在文件不存在的情况下,[ -f /path/to/file.txt ]false,循环体中的命令会被执行。当文件存在时,[ -f /path/to/file.txt ]true,循环结束。

结论

使用以上三种方法都可以监控文件是否存在。if条件语句适用于只需要判断一次的情况,while循环和until循环适用于需要持续监控的情况。在实际开发中,需要根据不同的情况选择不同的方法。