$ {file?my.file.txt}と$ {file:?my.file.txt}はBashで何を意味しますか?


0

今日チュートリアルを読んだとき、私は次のようなステートメントを思いついた。 ${file?my.file.txt} そして ${file:?my.file.txt}、何をする ${file?my.file.txt} そして ${file:?my.file.txt} Bashスクリプトではどういう意味ですか?


あなたの将来の質問のために、前に少し研究をしてください。私はあなたが特にBashについて少し質問したのを見ましたが、あなたの質問は実際の問題にほとんど基づいておらず、研究努力のデモンストレーションを幾分欠いています。
slhck

@ slhckわかりました。実際、私は特定の詳細を知りたいだけです。それがここのスタイルと衝突するならば、それで申し訳ありません。とにかく、患者さんの回答に感謝します。
user3872279

回答:


3

から マニュアル - そしてそれを最初にチェックするのは常に良いことです

${parameter:?word}

もし parameter nullまたは未設定、の展開 word (またはその旨のメッセージ word (存在しない)が標準エラーに書き込まれ、シェルが対話的でない場合は終了します。そうでなければ、 parameter 代入されます。

そのため、エラーが表示される可能性がある未設定の変数に対する保護手段です。また、

コロンを省略すると、設定されていないパラメータに対してのみテストが行​​われます。言い換えれば、コロンが含まれている場合、オペレータは両方のパラメータの存在とその値がnullでないことをテストします。コロンを省略すると、演算子は存在するかどうかだけをテストします。

しかし、もちろん、あなたが与えた例は多少恣意的であり、チュートリアルにそれらを含めさえするのはなぜだろう、それらを含めて、それらが何をするのか説明しないのはなぜだろうか。


これらすべてを明確にした後、本当に質の高いドキュメントを書きます。 THX!
user3872279
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.