在 bash 中重用变量

Gil*_*Gil 3 bash shell awk sed

我想知道重复使用同一组变量是否会导致 bash 脚本中出现任何不可预见的事件。这通常被认为是一个好的做法吗?

为了让我的查询更清楚一些。

我有一个像这样的脚本:

max=`cat loc1.c  | wc -l`   
bar=1        

while [ $bar -lt $max ]
do

    f1=`awk -v vr1=$bar 'NR == vr1' loc1.c`
    f2=`awk -v vr1=$bar 'NR == vr1' loc2.c`

    if [[ a random file  exists ]] ; then # use var1 var2 var3 ; fi 
    if [[ a random file2 exists ]] ; then # use var1 var2 var3 ; fi 
    if [[ a random file3 exists ]] ; then # use var1 var2 var3 ; fi 

    ((bar++))
done
Run Code Online (Sandbox Code Playgroud)

文件 loc1 和 loc2 列出了由换行符分隔的文件路径。路径根据行号传输到变量 f1 和 f2 。循环继续,直到 loc1 中的每个文件(由路径指向)都对 loc2 中指向的文件进行了某种数据操作。

欢迎任何建议。

我在下面的代码中重用变量 var1、var2、var3 [..]。

che*_*ner 5

与变量使用无关,但您可以简化文件迭代,假设您不需要barmax不需要其他任何东西:

while read -r f1 && read -r -u 3 f2; do
    if [[ a random file  exists ]] ; then # use var1 var2 var3 ; fi 
    if [[ a random file2 exists ]] ; then # use var1 var2 var3 ; fi 
    if [[ a random file3 exists ]] ; then # use var1 var2 var3 ; fi
done < loc1.c 3< loc2.c
Run Code Online (Sandbox Code Playgroud)