Di $
awal string di:
echo $'Hello World\nThis is a new line'
menyebabkan urutan melarikan diri ditafsirkan.
Manual referensi Bash [mengatakan]
Kata-kata dalam bentuk $ 'string' diperlakukan secara khusus. Kata diperluas ke string, dengan karakter backslash-escaped diganti sebagaimana ditentukan oleh standar ANSI C. ...
..
Hasil yang diperluas dikutip satu, seolah tanda dolar belum ada.
Tapi
echo $"Hello World\nThis is a new line"
sama sekali berbeda. Ini [Artikel] pada terjemahan lokal yang spesifik mengatakan:
String yang dikutip ganda didahului oleh tanda dolar ('$') akan menyebabkan string diterjemahkan sesuai dengan lokal saat ini. Jika lokal saat ini adalah C atau POSIX, tanda dolar diabaikan. Jika string diterjemahkan dan diganti, penggantiannya dikutip ganda.
Catatan: IIRC keduanya $'string'
dan $"string"
mungkin tidak menemukan dukungan di antara shell yang berbeda. Tidak hanya orang-orang dari kerang lain melihat mereka dengan rasa ingin tahu, tetapi juga mereka berdebat tentang apakah ini bisa dihindari untuk skrip portabilitas.