在脚本中,我从 ksh 脚本中获得了以下代码:
for log_file in `cat a_filename`
do
`echo mv from_directory/$log_file to_directory`
done
代码可以是
for log_file in `cat a_filename`
do
mv "from_directory/$log_file" to_directory
done
反而 ?
使用 echo 和反引号有什么好处?
答案1
绝对没有。没有任何理由在代码的该位置使用反引号。一般来说,反引号应该替换为$(...)
嵌套更好并且可以直观地处理引用的反引号。
严重地。不要写这样的代码。
我可以看到它可能来自哪里:
- 有人编写了一个快速而肮脏的脚本来将一些文件移动到某个地方。
- 他们插入了一个
echo
“使其安全”。这使得可以查看哪些命令会被处决,在测试时没有覆盖任何内容的风险。 (好东西) - 其他人认为他们需要执行这些命令,因此他们只是将所有内容放在反引号中。
- 利润!
- 耻辱!
相关问题:什么时候应该使用 $( ) 定义变量