<分区>
我在 AIX 7.1 中编写了 shell 脚本,但它没有按正确的顺序执行。
shell脚本是
receive 2 parameter $param and $filename
listoffiles='ls ${param}/*.txt'
awk 'FNR-1' ${listoffiles} >> ${param}/${filename}
mv ${param}/*.txt ${param}/archive
我的目标是将 ${listofffiles}
中的行合并到一个文件中,不包括每个文件的标题。
之后,我想移动 ${listofffiles}
文件,包括生成的 ${param}/${filename} 到一个文件夹(假设它是“存档”文件夹)。 ${filename} 应引用参数,并为每次执行调用提供唯一的文件名,并且始终具有“.txt”扩展名。
问题是:如果有3个(或更多)脚本同时执行,结果会是:
一次执行将导致正确的顺序
其他执行将导致
mv ${param}/*.txt ${param}/archive
在awk 'FNR-1' ${listofffiles 之前先执行} >> ${param}/${文件名}
我在这里做错了什么?或者有什么方法可以保证脚本严格执行它的步骤? (我尝试添加 &&
或 ;
但结果保持不变)