スクリプトがPATHにある場合に実行可能ファイルのパスを設定する方法

スクリプトがPATHにある場合に実行可能ファイルのパスを設定する方法

my.shその中にスクリプトがあり、/var/wwwそのディレクトリをPATH環境変数に追加するとします。これで、./my.shシステムのどこでも実行できます。スクリプト内ではと$0同じです/var/www/my.sh。どうやって作られましたか?PATHスクリプト名にパスのみを追加しますか?

答え1

$0実行中のプロセスの名前。

./script.shしたがって、実行されるプロセスでスクリプトを呼び出すと返される/bin/bash ./script.shので、ここでは絶対パスではなく相対パスでスクリプトを呼び出します。ただし、呼び出しの内部を見ているディレクトリにスクリプトを配置すると、絶対パスが使用され、プロセスは次のように返されます。$0./script.shPATH$0/usr/bin/script.sh/bin/bash /usr/bin/script.sh

答え2

$0気にしないでください$PATH。 Bashの特別なパラメータです。

$ 0はシェルまたはシェルスクリプトの名前に展開されます。これはシェルが初期化されるときに設定されます。 bashがコマンドファイルで呼び出されると、$ 0がファイル名に設定されます。通常、スクリプト使用情報を表示するために使用されます。

詳しくはこちら$0 ここ

答え3

ランニング:

PATH=`/var/www/my.sh`
echo $PATH

スクリプトを実行すると、結果は次のようになります。

/var/www/my.sh

関連情報