Anladığım kadarıyla, daha kolay ve daha az hataya meyilli yuvalama ve kaçış sözdizimi nedeniyle , daha modern $(...)
komut yerine `
koyma sözdiziminin eski tabanlı sözdizimine göre tercih edildiğini düşünüyorum .
Ayrıca, /bin/sh
modern kullanımdaki çoğu stil kabukları destekliyor gibi görünüyor $(…)
:
- darbe
- ash (ve bu nedenle BusyBox, en gömülü Linux)
- tire
- FreeBSD / bin / sh
Ve $(…)
IEEE 1003.1 tarafından belirtilmiştir.
Bu yüzden çok ilgili 2 sorum var:
- Komut dosyasının çalışması gereken belirli bir eski sistem bilmiyorsanız, kabuk komut dosyalarının yeni geliştirilmesinde `` kullanmak için herhangi bir neden var mı?
- UNIX programlama öğrencilerine sadece yazmalarını öğretmek
$(...)
ve`
sadece diğer geliştiricilerin kabuk komut dosyalarını okuyorlarsa karşılaşacakları eski bir varyant olarak tartışmak için herhangi bir neden var mıdır (ve gerçekten eski bir sistemle çalışıyorsa veya standart dışıysa ihtiyaç duyabilirler) bazı sebeplerden dolayı)?
$()
- üst karakter + 4,9, üst karakter + 0 - 5 tuş basışları;
`...`
. Sadece Bourne kabuğu ile geriye doğru taşınabilirlik için (Bourne kabuğu Thomson kabuğu ile geriye doğru taşınabilirlik için^
olduğu gibi|
). Ancak bunun(t)csh
olmadığını unutmayın$(...)
(ancak bunları kullanmanın veya öğretmenin bir anlamı yoktur).