Silakan pertimbangkan skrip sederhana ini bernama test :
#!/bin/bash
echo $1
dan perintah dan panggilan berikut:
$ echo "A B"
A B
$ echo ""A B""
A B
$ echo """A B"""
A B
$ echo """A B"""
A B
$ ./test "A B"
A B
$ ./test ""A B""
A
$ ./test """A B"""
A B
$ ./test """"A B""""
A
Bisakah seseorang tolong jelaskan mengapa panggilan tes tidak berperilaku seperti perintah gema atau arahkan ke dokumentasi yang relevan?
2
Sudah ada perintah tes , Anda beruntung Anda menggunakan path lengkap, jika tidak, Anda akan kesulitan men-debug situasi.
—
Rui F Ribeiro
Lebih baik untuk jenis tes ini adalah menggunakan
—
Charles Duffy
printf '%q\n' "$@"
daripada tidak echo
sama sekali, yang akan memancarkan argumen Anda satu-ke-a-line dengan karakter tersembunyi dan spasi putih lolos dalam bentuk yang terlihat.