$* memperluas ke semua parameter yang diteruskan ke skrip shell tersebut.
$0 =nama skrip shell
$1 =argumen pertama
$2 =argumen kedua...dst
$# =jumlah argumen diteruskan ke shellscript
Sangat mudah menemukan jawabannya sendiri:man bash → /\$\* :
Parameter Khusus
Shell memperlakukan beberapa parameter secara khusus. Parameter ini hanya dapat dirujuk; penugasan kepada mereka tidak diizinkan.
- Meluaskan ke parameter posisi, mulai dari satu. Saat perluasan terjadi dalam tanda kutip ganda, perluasan akan diperluas menjadi satu kata dengan nilai setiap parameter dipisahkan oleh karakter pertama dari
IFSvariabel khusus. Yaitu,"$*"setara dengan"$1c$2c...", di manacadalah karakter pertama dari nilaiIFSvariabel. JikaIFStidak disetel, parameter dipisahkan oleh spasi. JikaIFSadalah null, parameter digabungkan tanpa memisahkan pemisah.
Ini berarti semua argumen diteruskan ke skrip atau fungsi, dipisah menurut kata.
Biasanya salah dan harus diganti dengan "[email protected]" , yang memisahkan argumen dengan benar.