man bash bu tek alıntı hakkında verir
Karakterleri tek tırnak işaretleri içine alma, tırnak içindeki her karakterin gerçek değerini korur. Önceden ters eğik çizgiden önce olsa bile, tek tırnaklar arasında tek bir teklif oluşmayabilir.
Komut satırına ne yazarsanız yazın, bash bunu yorumlar ve sonucu gönderilmesi gereken programa gönderir. Bu durumda eğer kullanırsanız sed 's/$old_run/$new_run/', bash ilk önce sedonu görür, $PATHdeğişkende mevcut bir çalıştırılabilir olarak tanır. . sedYürütülebilir bir girişi gerektirir. Bash girişi arar ve bulur 's/$old_run/$new_run/'. Tek tırnak, bash’ın içindeki içeriği yorumlamamasını ve olduğu gibi geçirmemesini söylüyor. Öyleyse, bash onları sedye'ye geçirir Sed bir hata veriyor çünkü $sadece satırın sonunda meydana gelebiliyor.
Bunun yerine eğer çift tırnak kullanırsak, yani "s/$old_run/$new_run/"bash bunu görür ve $old_rundeğişken bir isim olarak yorumlanır ve bir ikame yapar (bu aşama değişken genişleme olarak adlandırılır). Gerçekten de ihtiyacımız olan şey bu.
Ancak, çift tırnak işareti kullanırken dikkatli olmalısınız, çünkü önce bash ile yorumlanır ve sonra sed'e verilir. Bu nedenle, `gibi bazı semboller kullanmadan önce kaçmalıdır.