我正在运行脚本run.sh. 脚本执行如下。 $。/ run.sh read.csv 脚本的内容如下。
tail -n +2 $1 | while IFS="," read -r A B C D E F;
do
python test.py ${A} ${B} ${C} ${D} ${E} ${F}
done
我的问题是"如果我需要传递额外的命令行参数以及来自终端的read.csv这样(对于Ex:$./run.sh name sex DOB read.csv
)我如何修改代码以便它可以工作精细。
因为如果我传递任何其他命令行参数和文件名(read.csv),我将获得文件read.csv的访问错误
答案 0 :(得分:1)
您需要的是位置参数。这就是你如何做到的:
tail -n +2 $4 | while IFS="," read -r A B C D E F;##note now you would pass $4 to tail command which is your file name
do
python test.py ${A} ${B} ${C} ${D} ${E} ${F}
done
您可以访问这些值,例如$ 1中的名称,$2
中的性别,$ 3中的DOB和$ 4中的read.csv