echo "$*"
akan melakukan apa yang Anda inginkan, yaitu mencetak seluruh argumen baris perintah, dipisahkan oleh spasi (atau, secara teknis, berapa pun nilai $IFS adalah). Jika Anda ingin menyimpannya ke dalam variabel, Anda bisa melakukannya
thevar="$*"
Jika itu tidak cukup menjawab pertanyaan Anda, saya tidak yakin harus berkata apa lagi...
Jika Anda ingin menghindari keterlibatan $IFS, gunakan example@unixlinux.online (atau jangan sertakan $* dalam tanda kutip)
$ cat atsplat
IFS="_"
echo " at: example@unixlinux.online"
echo " splat: $*"
echo "noquote: "$*
$ ./atsplat this is a test
at: this is a test
splat: this_is_a_test
noquote: this is a test
Perilaku IFS juga mengikuti penetapan variabel.
$ cat atsplat2
IFS="_"
example@unixlinux.online
splatvar=$*
echo " at: $atvar"
echo " splat: $splatvar"
echo "noquote: "$splatvar
$ ./atsplat2 this is a test
at: this is a test
splat: this_is_a_test
noquote: this is a test
Perhatikan bahwa jika penugasan ke $IFS dilakukan setelah penugasan $splatvar, maka semua output akan sama ($IFS tidak akan berpengaruh pada contoh "atsplat2").