![使 WGET 在没有路径的情况下可用](https://linux22.com/image/59318/%E4%BD%BF%20WGET%20%E5%9C%A8%E6%B2%A1%E6%9C%89%E8%B7%AF%E5%BE%84%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%8F%AF%E7%94%A8.png)
我已经准备好了 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 别名。
有两种方法可以解决这个问题:
使用
#!/bin/bash -i
(如果是 bash)将您的添加
/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>