コマンドを広く使用する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
これは、シェルがデフォルトでenvエイリアスをサポートしていないためです。
この問題を解決する方法は2つあります。
使用
#!/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>