GNU/Linux >> Belajar Linux >  >> Linux

Ny Alasan Untuk Memiliki Shebang Menunjuk /bin/sh Daripada /bin/bash?

Di sebagian besar skrip shell yang pernah saya lihat (selain yang belum saya tulis sendiri), saya perhatikan bahwa shebang diatur ke #!/bin/sh . Ini tidak terlalu mengejutkan saya pada skrip lama, tetapi juga ada pada skrip yang cukup baru.

Apakah ada alasan untuk memilih /bin/sh melalui /bin/bash , sejak bash sudah ada di mana-mana, dan sering kali default, pada banyak mesin Linux dan BSD yang sudah berjalan lebih dari satu dekade?

Jawaban yang Diterima:

  1. Ada sistem yang tidak mengirimkan bash secara default (mis. FreeBSD).
  2. Bahkan jika bash diinstal, itu mungkin tidak terletak di /bin .
  3. Kebanyakan skrip sederhana tidak memerlukan bash.
  4. Menggunakan shell POSIX lebih portabel dan skrip akan berjalan di berbagai sistem yang lebih beragam.

Linux
  1. Perbedaan antara /bin/false &/sbin/nologin

  2. /usr/bin Vs /usr/local/bin Di Linux?

  3. Mengapa /bin/sh Menunjuk Ke /bin/dash Dan Bukan /bin/bash??

  1. dasar-dasar grep

  2. cmake --version menunjuk ke /usr/bin/cmake sementara cmake menunjuk ke /usr/local/bin

  3. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  1. Kapan saya harus menggunakan #!/bin/bash dan kapan #!/bin/sh?

  2. Perbedaan antara /bin dan /usr/bin

  3. #!/bin/sh vs #!/bin/bash untuk portabilitas maksimum