#!/bin/sh -f
set proj_dir="OutputDir"
for projname in lib proj1 proj2
do
mv ./scripts/$projname_BYTECODE ./$proj_dir/scripts/$projname
done
一个非常简单的例子,表明对我不利的事情。 $ projname_BYTECODE被解释为变量名称,但_BYTECODE实际上是文件夹名称的一部分。建议?
答案 0 :(得分:3)
使用${X}
代替$X
,因此在您的示例中${projname}_BYTECODE
应该可以解决问题。有关详细信息,请查看此问题:When do we need curly braces in variables using Bash?