检查文件是否存在并等待sh脚本运行,直到找到该文件

San*_*euw 1 linux bash

我正在研究一个有时非常慢的Linux服务器.因此,当我添加一些工作为我运行时,我必须等待几个小时才能运行一个简单的计算.

我想知道我是否能够开始下一次分析,但让它等到前一次分析的输出就在那里.(第二次分析需要第一次分析输出)

我试图使except和其他选项工作但仍然没有成功(找到除了以前的问题在stackoverflow上的其他选项): expect { 'output/analysis_file1.txt' }

任何想法/提示都会受到赞赏,并会帮助我分配.

我唯一想要的是让第二个脚本等到第一个脚本的文本文件被给出.

4个脚本:1.

#!/bin/bash
#$ -cwd
./script1.sh 

. ./script2.sh $repla

. ./script3.sh $replac
Run Code Online (Sandbox Code Playgroud)

2:

repla=''
for i in 'abcdefghijklmnopqrst'
do
   repla=`echo $i | sed 's/'abc'/'xyz'/g'`
   #echo $repla
done
Run Code Online (Sandbox Code Playgroud)

3:

replac=''
for j in $1
do
   replac=`echo $j | sed 's/'xyz'/'san'/g'`
   #echo $replac
done
Run Code Online (Sandbox Code Playgroud)

4:

replace=''
for h in $1
do
   replace=`echo $h | sed 's/'san'/'sander'/g'`
   #echo $replace
done
Run Code Online (Sandbox Code Playgroud)

小智 7

您可以使用以下核心进行一些修改

#!/bin/bash
while  [  ! -f FILE_NAME ]
  do
     sleep SOME_SECONDS
  done
echo "file found"
Run Code Online (Sandbox Code Playgroud)