ヌル合体方式でのシェル変数の設定


19

私は、「ヌル合体」が本当に好きです。そこでは、変数を、物事のリストの最初の「非ヌル」値に設定できます。たとえば、多くの言語がこれをサポートしています。

C#:

String myStr = string1 ?? string2 ?? "default";

JavaScript:

var myStr = string1 || string2 || "default";

...等。変数を設定するためにこれをBashで実行できるかどうか興味がありますか?

擬似:

MY_STR=$ENV{VAR_NAME}??$ANOTHER_VAR??"default";

回答:


28

POSIXシェル(を含むbash)と同等のものは次のようになります。

${FOO:-${BAR:-default}}

次も参照してください。

${FOO-${BAR-default}}

変数が空の文字列に解決されるかどうかではなく、変数が設定されているかどうかを確認するバリアント(変数が設定されているが空の場合に違いがあります)。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.