Saya baru-baru ini mulai menggeser skrip shell saya dari menggunakan backticks ke parens untuk mengeksekusi perintah in situ dan menggunakan hasilnya dalam sesuatu yang lain. Misalnya:
for line in `cat file`
do
echo "$line"
done
Sekarang saya menggunakan parens, sebagai gantinya:
for line in $(cat file)
...
Apa perbedaan yang sebenarnya antara kedua metode, dan mengapa substitusi paren dianggap lebih baik daripada backticks?
(pedantry melanjutkan) Tidak pernah, pernah, digunakan
—
grawity
for
untuk mengurai sesuatu baris demi baris.
@grawity - ini adalah contoh yang sepenuhnya dibuat untuk menunjukkan perbedaan dalam dua pendekatan
—
warren
Juga, BashFAQ / 082 tentang pertanyaan ini.
—
grawity
$(cat file)
dengan$(< file)
yang dilakukan sepenuhnya dalam shell (menyimpan mikrodetik berharga jika tidak terbuang untuk menghasilkan proses kucing).