我试图在这个论坛和其他论坛上找到答案。以下是一个 bash 脚本,它应该在 for 循环中运行一系列命令。我正在从文件中读取 2 列。第一列有一个文件名列表 (FARR),第二列是一个参数 - 处理中使用的数字 (NARR)。它将为 FARR 中的每个文件运行一组命令,并在“do”之后开始的命令中使用文件名和参数。除了 ${NARR[$N]} 没有将参数添加到行尾之外,一切都正常工作。此阶段参数为空。使用 echo $NARR 会显示完整列表。所以数据在那里......任何帮助将不胜感激。
#!/bin/bash
DIR='gauss_data/'
declare -i N=0
FARR=$(cat $DIR'all.dat' | awk '{if (NR!=1) print $1}')
NARR=$(cat $DIR'all.dat' | awk '{if (NR!=1) print $2}')
for f in $FARR;
do
./gauss_and_noise.py -i $DIR$f -o $DIR$f'.out' -d --save $DIR$f'.out.plot.png' --n0 ${NARR[$N]}
let "N++"
done