gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 14:58:41 25 4
gpt4 key购买 nike

在 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

在许多系统脚本中。

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

关于shell - 命令路径作为 shell 脚本中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2238892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com