Mengatur variabel shell dengan cara penggabungan nol


20

Saya benar-benar menyukai "null coalescing", di mana Anda dapat mengatur variabel ke nilai "non-null" pertama dalam daftar hal-hal. Banyak bahasa mendukung ini, misalnya:

C #:

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

JavaScript:

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

... dll. Saya hanya ingin tahu apakah ini dapat dilakukan di Bash untuk mengatur variabel?

semu:

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

Jawaban:


29

bashSetara shell POSIX (termasuk ) akan menjadi:

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

Lihat juga:

${FOO-${BAR-default}}

varian yang memeriksa apakah variabel disetel atau tidak, bukan apakah itu memutuskan ke string kosong atau tidak (yang membuat perbedaan dalam kasus-kasus di mana variabel diatur tetapi kosong).


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.