【发布时间】:2019-11-22 08:46:54
【问题描述】:
我想找到Stress_x_vs_Ecutoff_convergence.txt、Stress_y_vs_Ecutoff_convergence.txt 和Stress_z_vs_Ecutoff_convergence.txt 文件,如果存在则删除它们。
我尝试创建一个字符串数组来迭代它们。但是编译器告诉我:
i: command not found
部分代码在这里:
components=('x' 'y' 'z')
for i in "${components[@]}"
do
if [ -f "Stress_$(i)_vs_Ecutoff_convergence.txt" ]; then rm "Stress_$i_vs_Ecutoff_convergence.txt"; fi
touch "Stress_$(i)_vs_Ecutoff_convergence.txt"
done
我需要变量 i 来做其他事情,所以如果您尝试提供与我的方法没有太大不同的解决方案,我将不胜感激。 我知道这可能很简单,但我对 bash 还不是很熟悉
【问题讨论】:
-
您的意思是
$(i)尝试将值作为命令执行并用输出替换自身,还是${i}只是插入值? -
解决了。谢谢你的解释!
标签: string bash variables find