【发布时间】:2017-09-11 00:01:54
【问题描述】:
#!/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 实际上是文件夹名称的一部分。有什么建议吗?
【问题讨论】:
-
${projname}_BYTECODE?
-
你知道,我“试过”了,但是 gedit 上突出显示的语法说它仍然是一个变量,所以我没有真正尝试过。不过,这似乎确实奏效了。你应该回答这个问题。
-
顺便说一句;您仍然存在一些引用错误 -- shellcheck.net 会捕获它们。
-
set并没有按照你的想法去做。 -
是的,我意识到我在发这篇文章时不小心把它放在那里了。我的脚本没有那个,但当时我的 Linux VM 无法复制和粘贴。所以当我打字的时候,我混入了一些我最近正在学习的Tcl/Tk。