GNU/Linux >> Belajar Linux >  >> Linux

Apakah Ruang Diizinkan Antara #! Dan /bin/bash Di Shebang?

Dalam shebang, apakah spasi atau lebih diperbolehkan di antara #! dan penerjemahnya?

Misalnya, #! /bin/bash . Tampaknya berhasil, tetapi beberapa orang mengatakan bahwa itu tidak benar.

Jawaban yang Diterima:

Ya, ini diperbolehkan.

Artikel Wikipedia tentang shebang menyertakan email tahun 1980 dari Dennis Ritchie, ketika dia memperkenalkan dukungan kernel untuk shebang (sebagai bagian dari paket yang lebih luas yang disebut direktif interpreter ) ke dalam Versi 8 Unix (penekanan milik saya):

Sistem telah diubah sehingga jika file yang dieksekusi
dimulai dengan karakter ajaib #! , sisa baris dipahami
sebagai nama juru bahasa untuk file yang dieksekusi. […]

Untuk memanfaatkan kesempatan luar biasa ini,
taruh

#! /bin/sh

di margin kiri baris pertama skrip shell Anda. Kosong setelah ! baik-baik saja.

Jadi ruang setelah shebang telah ada cukup lama, dan memang, contoh Dennis Ritchie menggunakannya.

Perhatikan bahwa versi awal Unix memiliki batas 16 karakter di baris penerjemah ini, jadi Anda tidak dapat memiliki jumlah spasi putih yang sewenang-wenang di sana. Pembatasan ini tidak lagi berlaku di kernel modern.


Linux
  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  3. Perbedaan Aneh Antara Pwd Dan /bin/pwd?

  1. Apa Perbedaan Antara /sbin/nologin Dan /bin/false?

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

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

  1. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  2. Apa perbedaan antara #!/usr/bin/env bash dan #!/usr/bin/bash?

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