Shell 使用 for 循环中的值来设置文件的名称

Shell 使用 for 循环中的值来设置文件的名称

我想使用 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

注意$变量实际上是一种简化形式${变量}. 在$变量语法会导致错误,较长的形式可能会有效。(通过

相关内容