为什么我的 Cygwin 副本或目录名称中带有变量的 mkdir 不起作用?
Why does my Cygwin copy or mkdir with a variable in directory name not work?
构建 Unity 独立版本后,我想为可执行文件及其数据文件夹创建一些副本,这样我就可以 运行 它的多个实例。为了轻松做到这一点,我制作了这个脚本:
for i in 1 2 3 4
do cp SomeProject.exe SomeProject$i.exe
cp -r SomeProject_Data/ SomeProject$i_Data
echo i=$i done
done
但是,虽然复制可执行文件有效,但此文件夹复制无效。而不是将数据文件夹复制到 SomeProject1_Data
、SomeProject2_Data
等。它将第一个复制到 SomeProject
,然后将下一个复制到其中(似乎以下只是覆盖第二个)。
我试过插入 mkdir SomeProject$i_Data
并复制 "into",但这也只是在第一次迭代中创建了 SomeProject
,而随后的迭代抱怨 SomeProject
已经存在。
知道发生了什么吗on/wrong?
我想我自己解决了。我需要在变量中的 i 周围使用 {}。
在我的代码中 $i_Data
被视为变量名,它解析为 nothing/empty 字符串。通过在 i
周围添加 {},它可以正确解析。所以,工作代码是:
for i in 1 2 3 4
do cp SomeProject.exe SomeProject$i.exe
cp -r SomeProject_Data/ SomeProject${i}_Data
echo i=$i done
done
构建 Unity 独立版本后,我想为可执行文件及其数据文件夹创建一些副本,这样我就可以 运行 它的多个实例。为了轻松做到这一点,我制作了这个脚本:
for i in 1 2 3 4
do cp SomeProject.exe SomeProject$i.exe
cp -r SomeProject_Data/ SomeProject$i_Data
echo i=$i done
done
但是,虽然复制可执行文件有效,但此文件夹复制无效。而不是将数据文件夹复制到 SomeProject1_Data
、SomeProject2_Data
等。它将第一个复制到 SomeProject
,然后将下一个复制到其中(似乎以下只是覆盖第二个)。
我试过插入 mkdir SomeProject$i_Data
并复制 "into",但这也只是在第一次迭代中创建了 SomeProject
,而随后的迭代抱怨 SomeProject
已经存在。
知道发生了什么吗on/wrong?
我想我自己解决了。我需要在变量中的 i 周围使用 {}。
在我的代码中 $i_Data
被视为变量名,它解析为 nothing/empty 字符串。通过在 i
周围添加 {},它可以正确解析。所以,工作代码是:
for i in 1 2 3 4
do cp SomeProject.exe SomeProject$i.exe
cp -r SomeProject_Data/ SomeProject${i}_Data
echo i=$i done
done