GNU/Linux >> Belajar Linux >  >> Linux

Shell mana yang tidak mendukung ekspansi tanda kurung dolar, dan meminta backtick?

Rekomendasi modern adalah menggunakan:

$(...)

bukannya yang lebih tua:

`...`

terutama untuk keterbacaan dan untuk menghindari kebutuhan untuk melarikan diri saat bersarang.

Shell mana yang tidak mendukung $(...) formulir, dan apakah ada yang masih digunakan sampai sekarang?

Jawaban yang Diterima:

Shell Bourne asli, csh atau tcsh semuanya tidak mendukung $() dan memerlukan `` untuk substitusi perintah.

Shell Bourne tidak lagi digunakan sebagai shell default (/bin/sh) pada banyak sistem operasi berbasis UNIX. Namun, shell ini masih dipasok oleh vendor OS karena masih digunakan untuk alasan historis.

Baik AIX dan HP-UX memiliki /bin/sh sebagai shell yang sesuai dengan POSIX. Bourne shell masih tersedia di AIX sebagai 'bsh' (tetapi tidak digunakan lagi pada tahun 1995 dengan AIX 4.1) dan HP-UX 11.11 '/usr/old/bin/sh' (Bourne telah dihapus dari 11.23). Saya tidak yakin kapan peralihan itu dilakukan, tetapi sudah bertahun-tahun yang lalu.


Linux
  1. Shell mana yang saya gunakan?

  2. Perbedaan Antara Variabel Shell Yang Diekspor Dan Yang Tidak Di Bash?

  3. Shell mana yang saya jalankan?

  1. Ekspansi Variabel Shell Dan Pengaruh Glob Dan Split Di atasnya?

  2. Perbedaan Antara Perpipaan Dan Ekspansi Perintah?

  3. Campuran skrip shell dan python mungkin?

  1. Perbedaan Antara Shell Login dan Shell Non-login?

  2. Mewarnai Lingkungan Terminal dan Shell Anda?

  3. Perbedaan antara '{}' dan {} dalam perintah find?