如何在包含变量和添加文本的 for 循环中创建文件?
How do I create a file in a for loop that includes the variable and added text?
我有以下代码,我想在其中创建由变量编号命名的目录,然后将 _DOS 添加到文件名中。 (基本上我希望代码创建名为:1_DOS 2_DOS 3_DOS 的目录,然后保存文件 POSCAR 并在创建的目录中登录。)但是,当我 运行工作,它没有创建所需的目录。我认为我的错误是在 mkdir $i_DOS 中。我认为代码正在寻找 i = i_DOS 但没有找到它。
当我 运行 this 时,错误 returns as mkdir: missing operand
你有什么建议吗?
for i in 1 2 3
do
mkdir $i_DOS
cp POSCAR $i_DOS
cp log $i_DOS
done
exit
提前致谢。
我认为你应该使用 !i!或 %i% 而不是 $i,因为它引用了标签。
for i in 1 2 3
do
mkdir !i!_DOS
cp POSCAR !i!_DOS
cp log !i!_DOS
done
exit
在变量 i
周围使用 {}
大括号来解决歧义。
for i in 1 2 3
do
mkdir ${i}_DOS
cp POSCAR ${i}_DOS
cp log ${i}_DOS
done
exit
我有以下代码,我想在其中创建由变量编号命名的目录,然后将 _DOS 添加到文件名中。 (基本上我希望代码创建名为:1_DOS 2_DOS 3_DOS 的目录,然后保存文件 POSCAR 并在创建的目录中登录。)但是,当我 运行工作,它没有创建所需的目录。我认为我的错误是在 mkdir $i_DOS 中。我认为代码正在寻找 i = i_DOS 但没有找到它。 当我 运行 this 时,错误 returns as mkdir: missing operand 你有什么建议吗?
for i in 1 2 3
do
mkdir $i_DOS
cp POSCAR $i_DOS
cp log $i_DOS
done
exit
提前致谢。
我认为你应该使用 !i!或 %i% 而不是 $i,因为它引用了标签。
for i in 1 2 3
do
mkdir !i!_DOS
cp POSCAR !i!_DOS
cp log !i!_DOS
done
exit
在变量 i
周围使用 {}
大括号来解决歧义。
for i in 1 2 3
do
mkdir ${i}_DOS
cp POSCAR ${i}_DOS
cp log ${i}_DOS
done
exit