${ varname :- kata }: Jika varname ada dan bukan null, mengembalikan nilai varname, jika tidak mengembalikan kata. Digunakan untuk mengembalikan nilai default ketika variabel tidak ada atau tidak ditentukan. Jika itu adalah ${ varname - word }, itu bisa menjadi null ketika varname ada, misalnya kita mendefinisikan myparam=, mengembalikan nilai varname, jika tidak, mengembalikan kata tersebut. Anda juga dapat menghapus ":", yang memiliki arti yang sama dan tidak diulang.
${ varname := kata }: Jika varname ada dan bukan null, mengembalikan nilai varname, jika tidak, menetapkannya nilai kata dan mengembalikan nilai tersebut. Digunakan untuk mengatur default untuk variabel yang tidak ada atau tidak ditentukan. Untuk parameter posisi, baca-saja dan tidak dapat ditetapkan.
${ varname :? pesan }: Jika varname ada dan bukan null, mengembalikan nilai varname, jika tidak mencetak informasi varname:message, dan membatalkan skrip, jika kita tidak mengatur pesan, default "parameter null or not set" akan digunakan. Digunakan untuk memeriksa kesalahan di mana variabel tidak ditentukan.
${ varname :+ kata }: Jika varname ada dan bukan null, mengembalikan nilai word, jika tidak, itu mengembalikan null. Digunakan untuk mendeteksi ada atau tidaknya variabel.
${ varname : offset : panjang }: Operasi untuk mendapatkan substring. Dia mengembalikan string panjang dari posisi offset di varname. Posisi pertama adalah 0, jika panjang tidak diberikan atau tidak valid (kurang dari 0), semua karakter setelah offset dikembalikan, dan jika {@:offset:length}, parameter panjang total parameter skrip dari parameter offset pertama dikembalikan.
Buat skrip pengujian test.sh baru sebagai berikut:
|