我正在尝试编写一个脚本,它遍历5个脚本文件,并使用t1-5的内容作为输入来执行它们,并将输出附加到日志文件中,但它似乎不起作用。我正在尝试递增一个变量i,它代表t个变量的数量。我做得对吗?这个输出重定向是否确保所有结果都被附加到同一个文件中?
t1=`cat t1`
t2=`cat t2`
t3=`cat t3`
t4=`cat t4`
t5=`cat t5`
cd ..
cd tmp
i=1
for g in `ls`
do
sh "$g" "t$i" > 0572log
i=$((i + 1)
done发布于 2013-03-21 01:17:08
首先,i=$((i + 1)应该是i=$((i + 1))。
其次,为了追加而不是覆盖,> 0572log应该是>> 0572log。
第三,如果您希望多次运行脚本,最好将0572log放在其他地方(例如../0572log),而不是放在您的tmp目录中。否则,下次运行该脚本时,它将尝试执行0572log。
如果您有不含空格的简单文件名,则不需要使用$g和t$i两边的引号。
https://stackoverflow.com/questions/15530013
复制相似问题