在shell脚本中运行外部实用程序时的最佳做法是什么?例如,如果我想在多个脚本中运行'gzip',以确保使用特定的gzip二进制文件,我应该使二进制变量的完整路径,并在脚本中使用变量?作为shell脚本中变量的命令路径
GZIP=/home/me/bin/gzip
$GZIP somefile
$GZIP anotherfile
或者是更好的做法来硬编码每个调用二进制文件的路径?
/home/me/bin/gzip somefile
/home/me/bin/gzip anotherfile
还是更好地设置和依赖路径?
PATH=/home/me/bin:$PATH
gzip somefile
gzip anotherfile
我没有以root身份运行脚本,因此可维护性和可移植性比用户安全性更重要。
这里真正好的东西是关于条件的最后一点:根据你的脚本运行的是什么系统,你可能希望选择一个不同的可执行文件来使用。 – 2010-02-25 22:29:09