パスなしで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

これは、シェルがデフォルトでenvエイリアスをサポートしていないためです。

この問題を解決する方法は2つあります。

  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>

関連情報