Bashシェルで$ 0の意味は何ですか

Bashシェルで$ 0の意味は何ですか

Bashマニュアルから

$0シェルまたはシェルスクリプトの名前に展開されます。これはシェルが初期化されるときに設定されます。

Bashがコマンドファイルを使用して呼び出されると(39ページのセクション3.8「シェルスクリプト」を参照)、$0これはファイル名に設定されます。

Bashがこのオプションで始まると-c(80ページの6.1節「Bash呼び出し」を参照)、$0実行される文字列の後の最初の引数(存在する場合)に設定されます。

それ以外の場合は、引数0で指定されたようにBashを呼び出すために使用されるファイル名に設定されます。

最初の2つのケースは理解していますが、最後のケースは理解していません。 「そうでない場合」と「Bashを呼び出すために使用されるファイル名」は、どういう意味ですか?

ベストアンサー1

/bin/bashBashは、実行可能ファイル()を直接使用したり、リンクを使用するなど、さまざまな方法で呼び出すことができます/bin/sh。 「そうでない場合」はこの場合を扱い、Bashを呼び出すために使用されるファイル名は-bashなどshです。/bin/sh

試してみると、次の内容が表示されます。bash次に、prints echo $0、次にprints 、など。bash/bin/bashecho $0/bin/bash

確かにこれはshebangsにも当てはまりますが、おそらくそれが最初のケースです。

おすすめ記事