执行脚本的故障安全方法

时间:2020-03-11 13:02:42

标签: shell

我想从位于几个子目录内的父文件夹执行脚本,以便在脚本在每个文件夹内完成后进入下一个文件夹。我的问题是,有时我有文件夹是要运行脚本的主文件,但不存在(在文件夹内),或者我有一个文件的名称与我对文件夹施加的条件相匹配。那么,如何使脚本“故障保护”,即使脚本没有遇到正确的文件,或者目录实际上是文件,也可以转到下一个目录?

到目前为止我写的东西很简单

#!/bin/bash

for dir in ????Z????; do

cd "$dir" || exit

awk '{print $1, $4, $5, $6}' 18_12* >> attempt1

sed '/^#/ d' <attempt1> attempt2

sed 's/^/2 2 1 /' <attempt2> disp.BDCOBP11

for file in ./*EHZ
do
[[ -e "$file" ]] || break
sta1=$(echo "$file" | gawk -FZ '{print $1}')
sta2=$(echo "$file" | gawk -FZ '{print $2}')
mv disp.BDCOBP11 disp."${sta1}""${sta2}"
done

rm attempt1

cd ..

done

在每个文件夹中都有18_12 *文件和另一个* EHZ文件,所有文件夹都是这样的:

AAAAZBBBB
ABCDZ1234

0 个答案:

没有答案