Saat menjalankan skrip shell, kesalahan berikut ditampilkan:
-bash: ./log_job.sh: /bin/bash^M: bad interpreter: Tidak ada file atau direktori seperti itu Kesalahan menyebabkan:
.sh skrip ditulis di bawah sistem Windows, jadi mungkin ada karakter yang tidak terlihat, dari prompt kesalahan di atas, kemungkinan besar file skrip dalam format DOS, yaitu akhir setiap baris diidentifikasi oleh \r\n, dan kode ASCII-nya masing-masing 0x0D, 0x0A.
Kesalahan yang ditampilkan saat mengeksekusi skrip shell terutama disebabkan oleh fakta bahwa file skrip shell dalam format DOS, yaitu akhir setiap baris diidentifikasi oleh \r\n, dan akhir file format UNIX diidentifikasi oleh \n.
Catatan khusus: ^M bukanlah ^ dan huruf M yang dihasilkan oleh pergeseran tombol + 6, itu adalah karakter, ASCII-nya adalah 0x0D, cara untuk menghasilkannya adalah dengan menekan CTRL+V terlebih dahulu, lalu enter (atau CTRL+M)
larutan
Ada beberapa cara untuk memeriksa apakah file skrip dalam format DOS atau UNIX.
(1) Periksa format skrip: cat -A nama file Dari hasil tampilan, dapat dinilai bahwa baris file yang diakhiri dengan format dos adalah ^M$, dan baris file yang diakhiri dengan format unix adalah $.
(2) Ubah format skrip: vi nama file untuk membuka file dan mengeksekusi:set ff=unixAtur file ke unix dan jalankan:wq, disimpan dalam format UNIX.
(3) Periksa format skrip: cat -A nama file Dari hasil tampilan, Anda dapat menilai bahwa baris file yang diakhiri dengan format dos adalah ^M$, dan baris file yang diakhiri dengan format unix adalah $.
|