Apa yang setara dengan kulit ikan dengan bash berikut:
echo ${TEST:-1}
Dalam bash ini akan mencetak nilai TEST jika ada, atau 1 jika tidak.
Apa yang setara dengan kulit ikan dengan bash berikut:
echo ${TEST:-1}
Dalam bash ini akan mencetak nilai TEST jika ada, atau 1 jika tidak.
Jawaban:
Saya percaya Anda perlu variabel temponary (atau fungsi). Jika
$TEST
tidak ada, itu diperluas menjadi tidak ada, dan$test_or
hanya berisi1
. Akan menyenangkan untuk memiliki cara nyata untuk melakukan itu, tetapi saat ini sintaksisnya adalah masalah, dan tampaknya tidak benar-benar diperlukan untuk sebagian besar tujuan.Juga, jika yang Anda inginkan adalah memodifikasi
$TEST
jika belum ada, Anda dapat menggunakannyaset -q
.sumber
Untuk referensi variabel dan memberikan nilai default in-line, Anda dapat menggunakan substitusi perintah yang berisi kondisi yang dilakukan
echo
di kedua cabang.Karena ini semacam verbose, Anda bisa menginisialisasi variabel pada baris yang berbeda ketika tidak disetel.
Jika Anda benar-benar ingin kemampuan untuk menggantikan in-line default, Anda dapat melakukannya dalam suatu fungsi menggunakan tipuan, dan kemudian memanggil fungsi itu.
sumber