私はbashスクリプトについてもっと学びようとしていましたが、私が見ていたインストールスクリプトの始めにこの文を見つけました。
DIR=${1-${HOME}}
まず、これがスクリプトの始まりなので、$1が何を指すことができるのか理解できません。私は$ 0がスクリプト自体であることを知っています。 $1 とはどういう意味ですか?
第二に、$1からホームディレクトリを引いたものはどういう意味ですか?
ここで何が起こっているのか説明できる人がいるなら、とても感謝します!
ありがとうございます!
(しかし、私が言及した実際のスクリプトはYin Yang Dark Theme Managerのインストールスクリプトです。https://github.com/oskarsh/Yin-Yang/blob/master/install.sh、役立つ場合。 )
答え1
$1
、、$2
...技術的に「位置パラメータ」と呼ばれるこれらは、スクリプトのコマンドライン引数(またはスクリプト内の関数への引数)を保持します。
${var-value}
デフォルト値拡張で、設定されている場合に使用される値$var
、それ以外の場合は後に提供される値です-
。
したがって、${1-${HOME}}
(または${1-$HOME}
)スクリプトの最初のコマンドライン引数が使用されるか、引数がない場合は値が何でも使用されます$HOME
。割り当てると、その結果がに割り当てられますDIR
。
たとえば、参照してください。スクリプトで変数を割り当てるには、「${a:-b}」を使用します。たとえば、およびのバリアントです:-
。