Pada paragraf yang menjelaskan ekspansi aritmatika, panduan pengguna Bash mengungkap 2 cara berbeda untuk mengevaluasi ekspresi, yang pertama menggunakan $(( EXPRESSION ))
dan yang kedua menggunakan $[ EXPRESSION ]
. Kedua cara tersebut tampaknya sangat mirip karena satu-satunya perbedaan yang saya temukan adalah:
$[ EXPRESSION ]
hanya akan menghitung hasil EKSPRESI, dan tidak melakukan tes:
Namun, saya tertarik karena dokumen yang sama merekomendasikan penggunaan $[ EXPRESSION ]
daripada $(( EXPRESSION ))
.
Jika memungkinkan, pengguna Bash harus mencoba menggunakan sintaks dengan tanda kurung siku:
Mengapa Anda menginginkannya jika lebih sedikit pengujian yang dilakukan?
Jawaban yang Diterima:
Pertanyaan Duplikasi (dengan jawaban)
https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression
Halaman manual untuk bash v3.2.48 mengatakan:
[…] Format untuk ekspansi aritmatika adalah:
$((expression))
format lama $[expression] tidak digunakan lagi dan akan dihapus di versi bash yang akan datang.
Jadi $[…] adalah sintaks lama yang tidak boleh digunakan lagi
Selain jawaban itu:
http://manual.cream.org/index.cgi/bash.1#27
Info yang berkaitan dengan versi bash:
Berikut adalah beberapa info tentang halaman manual bash (sulit untuk menemukan info tentang versi apa yang dirujuk masing-masing halaman):
Tautan OP:
http://www.tldp.org/guides.html Panduan Bash untuk Pemula
versi:1.11
penulis:Machtelt Garrels,
pembaruan terakhir:Des 2008
sth (74,6k rep) mengutip bash v3.2.48
dari https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression)
Catatan:Info lebih lanjut tentang [] vs (()) di sini:http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00033.html
tautan yang saya temukan:
http://www.gnu.org/software/bash/manual/ terakhir diperbarui 22 Agustus 2012
http://www.gnu.org/software/bash/manual/bash.html#Arithmetic-Expansion