Linux While在睡眠中循环并重试该过程

Linux While在睡眠中循环并重试该过程,linux,bash,shell,Linux,Bash,Shell,我有一个控制文件file.txt,它的值在任何时候都会根据其他进程而变化。 文件的值类似于1、2或3 当控制文件的值为3时,我想执行我的新作业。因此,在执行作业之前,我需要首先检查控制文件 我在下面使用sleep尝试while loop,并每隔5秒自动重试该过程3次,但重试过程未运行。我是如何解决这个问题的 #!/bin/bash myname="kyy" while read file; do if [ $file == 2 ]; then echo &qu

我有一个控制文件
file.txt
,它的值在任何时候都会根据其他进程而变化。 文件的值类似于
1、2或3

当控制文件的值为
3
时,我想执行我的新作业。因此,在执行作业之前,我需要首先检查控制文件

我在下面使用sleep尝试
while loop
,并每隔5秒自动重试该过程3次,但重试过程未运行。我是如何解决这个问题的

#!/bin/bash
myname="kyy"

while read file; do
if [ $file == 2 ]; then
   
   echo "`date +%Y%m%d:%H:%M:%S:%N` [ERROR]:-Value of Control File : $file "
   echo "`date +%Y%m%d:%H:%M:%S:%N` [NOTICE]:-Nothing to do.. Script will exiting.." 

else

   echo "`date +%Y%m%d:%H:%M:%S:%N` [SUCCESS]:-Go to next step "
   echo "`date +%Y%m%d:%H:%M:%S:%N` [SUCCESS]:-My name is $myname "
fi
sleep 3
((c++)) && ((c==3)) && break
done < /home/hcuseros/file.txt
#/bin/bash
myname=“kyy”
读取文件时;做
如果[$file==2];然后
echo“`date+%Y%m%d:%H:%m:%S:%N`[错误]:-控制文件的值:$File”
echo“`date+%Y%m%d:%H:%m:%S:%N`[注意]:-无事可做..脚本将退出..”
其他的
echo“`date+%Y%m%d:%H:%m:%S:%N`[成功]:-转到下一步”
echo“`date+%Y%m%d:%H:%m:%S:%N`[成功]:-我的名字是$myname”
fi
睡眠3
((c++)和((c==3))&&break
完成
这是一种简单的方法,您只需根据测试结果填写命令即可:

for i in {1..3}; do
    file=$(cat test.txt)
    if [ $file -eq "3" ]; then
        ...
    else
        ...
    fi
    sleep 5
    done

循环位于文件的行上。。。如果你想把文件读3遍,“文件解析”必须在循环中。你能重写脚本吗?你能付钱给我吗?:)因为我想答案是否定的。这是一个很好的开始:)你会想摆脱See,它在建议、观点和事实上通常是模糊的,有时仍然包含错误或只是误导性的陈述。