Apa mnemonik yang bagus untuk shell double vs single quotes?

43

Saya tidak melakukan cukup scripting untuk diingat, tanpa melihat ke atas, apakah tanda kutip ganda atau tunggal menghasilkan variabel Unix yang diganti.

Saya benar-benar mengerti apa yang sedang terjadi. Pertanyaan saya adalah apakah ada yang punya trik memori untuk membuat aturan kutipan yang benar melekat di kepala saya?

Dave Potts
sumber
2
Gunakan rcsebagai shell Anda, maka Anda hanya memiliki satu jenis tanda kutip ( "adalah karakter biasa di rcmana tanda kutip hanya tanda kutip tunggal dan backslash hanya digunakan untuk kelanjutan garis (tidak di dalam tanda kutip tunggal)). Ia juga memiliki sintaks dan desain yang jauh lebih ramping, lebih bersih, lebih baik, lebih intuitif daripada cangkang mirip Korn seperti bash.
Stéphane Chazelas
1
Pelajari Perl. Maka Anda hanya perlu mengingat bahwa shell berperilaku serupa.
n0rd

Jawaban:

75

Kutipan tunggal adalah kutipan sederhana , dengan standar tunggal : setiap karakter literal. Kutipan
ganda memiliki standar ganda : beberapa karakter literal, yang lain masih ditafsirkan kecuali ada backslash sebelum mereka.

Kutipan tunggal bekerja sendiri: garis miring terbalik di dalam tanda kutip tunggal tidak istimewa. Kutipan
ganda berpasangan dengan garis miring terbalik: garis miring terbalik di dalam tanda kutip ganda membuat karakter berikutnya menjadi tidak spesial.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
7
Ini cukup puitis. Dengan editor yang baik (dalam arti sastra), kita dapat membuat buku anak-anak dari ini. "If You Teach a Snake to Script"
glenn jackman
7
Saya telah mencoba untuk mengubah Kutipan tunggal adalah kutipan sederhana, dengan standar tunggal menjadi puisi gaya Dr. Seuss selama dua puluh menit, dan gagal total.
Ti Strga
6
Kutipan tunggal adalah penggunaan tunggal, dan pengulangan secara literal / Kutipan ganda lebih bertele-tele, suatu prestasi
paramat'rising
@glennjackman Buku mewarnai FORTRAN
Muzer
5

"Gandakan, kerja keras dua kali lipat dan masalah;
Dolar terbakar, dan gelembung backquotes."

Lajang, sebaliknya, tidak berbahaya.


sumber
4

Kutipan ganda ( ") adalah tanda kutip yang lemah - Anda membutuhkan dua dari mereka, sehingga mereka berpasangan, dan variabel menerobosnya meskipun jumlahnya.

Kutipan tunggal ( ') adalah kutipan kuat - mereka datang sendiri-sendiri, dan variabel tidak cocok untuk mereka.

DopeGhoti
sumber
2

Kutipan ganda menggandakan bersenang-senang
memperluas parameter satu per satu.

gboffi
sumber
1

Kutipan ganda ( ") tidak persis berarti apa yang dikatakan, misalnya alat yang mengatakan "quality" equipmentmungkin sebaliknya.

Kutipan tunggal ( ') adalah kutipan yang kuat, apa yang ada di antara mereka persis seperti apa tampaknya.

Pelle
sumber
1

Tujuan singular adalah mereka
Kutipan yang tunggal.

Perlakukan karakter secara harfiah di dalam.
Tidak peduli bagaimana mereka berbaur.

(Apakah hanya satu peraturan kecil yang harus Anda ketahui
Kutipan tunggal di dalam? Jangan pergi!)


Ada tanda kutip yang dua kali lipat
Di dalamnya beberapa karakter mungkin bermasalah
Dolar, back-ticks dan back-slash
Diperlakukan khusus oleh Bash
Escaping, meskipun, akan meledak gelembung itu.

B Layer
sumber
0

Satu: musim dingin, seperti
Dua: musim panas, transformasi
Melarang atau mengizinkan

drl
sumber