我想使用 Shell 运行我的 Python 脚本并使用 for 循环中的变量来命名我的输出文件
for i in 1 2 3 4 5
do
setsid python main.py 1>data/$i$_logfile.txt 2>&1
done
但我1.txt
没有1_logfile.txt
。我怎样才能成功做到这一点?
答案1
因为_
是变量名的有效字符,所以您需要使用语法${varname}
让 shell 知道变量名的结尾。否则,您将$i
和$_logfile
作为变量,但后者为空。
该语法$i$
不存在。
使用:
setsid python main.py 1>data/${i}_logfile.txt 2>&1
注意$变量实际上是一种简化形式${变量}. 在$变量语法会导致错误,较长的形式可能会有效。(通过)