Saya membaca berikut ini di Panduan Pengguna untuk Z-Shell :
Sinonim untuk 'true' adalah ':'; sering digunakan dalam formulir ini untuk memberikan argumen yang memiliki efek samping tetapi yang tidak boleh digunakan - sesuatu seperti
: ${param:=value}
yang merupakan ungkapan umum dalam semua turunan shell Bourne. Dalam ekspansi parameter,
$paramdiberikan nilai nilai jika kosong sebelumnya, dan dibiarkan sendiri sebaliknya. Karena itu adalah satu-satunya alasan ekspansi parameter, Anda menggunakan:untuk mengabaikan argumen. Sebenarnya, shell dengan riang membangun baris perintah - titik dua, diikuti oleh apa pun nilainya$param, apakah penugasan terjadi atau tidak - kemudian menjalankan perintah; Kebetulan bahwa ':' tidak memperhatikan argumen yang diberikan.
tapi saya tidak mengerti. Saya mengerti :artinya true, tetapi ada dua titik dua dalam ekspresi. Sebagai pertanyaan kecil, mengapa idiom ini banyak digunakan dalam semua turunan shell Bourne? Apa tujuannya?
Catatan: Saya tertarik dengan apa yang dilakukan idiom ini di bash dan di zsh .
Terima kasih
zshataubash?