我想保留轮询文件,直到它到达该位置 1 小时。
我的目录:/home/stage
文件名(我正在寻找):abc.txt
我想保留轮询目录 /home/stage
1 小时,但在 1 小时内,如果 abc.txt
文件到达然后它应该停止轮询并应该显示消息 file arrived
否则 1 小时后应该显示 file has not arrived
.
有没有办法在Unix中实现这一点?
最佳答案
另一个 bash
方法,不依赖陷阱处理程序和信号,以防您的更大范围已经将它们用于其他事情:
#!/bin/bash
interval=60
((end_time=${SECONDS}+3600))
directory=${HOME}
file=abc.txt
while ((${SECONDS} < ${end_time}))
do
if [[ -r ${directory}/${file} ]]
then
echo "File has arrived."
exit 0
fi
sleep ${interval}
done
echo "File did not arrive."
exit 1
关于unix - 如何将轮询文件保留在目录中,直到它到达 Unix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17923773/