加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

命令路径作为shell脚本中的变量

发布时间:2020-12-15 21:02:35 所属栏目:安全 来源:网络整理
导读:在 shell脚本中运行外部实用程序时的最佳做法是什么.例如,如果我想在多个脚本中运行’gzip’以确保使用特定的gzip二进制文件,那么我是否应该将二进制文件的完整路径变为一个变量而只是在脚本中使用该变量? GZIP=/home/me/bin/gzip$GZIP somefile$GZIP anoth
在 shell脚本中运行外部实用程序时的最佳做法是什么.例如,如果我想在多个脚本中运行’gzip’以确保使用特定的gzip二进制文件,那么我是否应该将二进制文件的完整路径变为一个变量而只是在脚本中使用该变量?

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身份运行脚本,因此可维护性,可移植性比用户安全性更重要.

解决方法

我认为第一个选择是最好的.你会发现它或类似的:

SOMEPATH=/path/to/somewhere
EXEC_ONE=exec_foo
EXEC_TWO=exec_bar

$SOMEPATH/$EXEC_ONE --argument baz_file

在许多系统脚本中.

您可以使用条件来测试是否存在,甚至是兼容性,可用选项等,并相应地设置变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读