使 WGET 在没有路径的情况下可用

使 WGET 在没有路径的情况下可用

我已经准备好了 bash 脚本,它广泛使用wget命令。不幸的是,wget在标准路径上不可用,但在以下位置可用:

/usr/custom/bin/wget

通过引入别名,我能够使其在 bash 控制台中无需路径即可使用:

alias wget="/usr/custom/bin/wget"

但从 bash 脚本中仍然看不到:

./deploy.sh: line 312: wget: command not found

如何在不重写脚本本身的情况下使事情正常进行?

聚苯乙烯 ~/.bashrc可在框中进行编辑,因此我很乐意保留这些更改。

答案1

将其添加到您的 PATH 中.bash_profile.bashrc

export PATH=$PATH:/usr/custom/bin

如果您只想为特定用户使用,如果您希望为所有用户使用,则可以将 wget 路径添加到/etc/environment.

答案2

这是因为 shell 默认不支持您的 env 别名。

有两种方法可以解决这个问题:

  1. 使用#!/bin/bash -i(如果是 bash)

  2. 将您的添加/usr/custom/bin/到 PATH

答案3

您可以这样调用您的脚本:

PATH=$PATH:/usr/custom/bin/ ./deploy.sh

这样,您的值PATH只会在脚本运行过程中发生变化。

答案4

您应该在脚本中扩展您的 PATH 。这样,该目录中的其他命令就不会破坏您对 bash 的正常使用,并且您不必在每次调用时重新输入它

#!/bin/bash 

PATH=$PATH:/usr/custom/bin/

<rest of your script>

相关内容