Sesuai judul, disini saya akan memberikan beberapa solusi jika terdapat error semacam /bin/bash^M: bad interpreter pada saat menjalankan file bash.
Error ini terjadi karena file terdapat line style ending "\r\n". Sebenarnya, pada linux line style ending yang benar adalah "\n" saja, sedangkan "\r\n" terdapat pada DOS/Windows. Jadi jika kalian menjalankan file yang mengandung line style ending "\r\n" pada linux, maka sudah pasti akan terdapat error semacam itu. Untuk lebih jelasnya, coba kalian run file bash kalian seperti ini:
user@linux $ bash file.sh
atau
user@linux $ sh file.sh
Kalian akan mendapati error seperti ini:
Beberapa cara yang dapat kalian lakukan untuk memperbaiki ini adalah sebagai berikut.
- Menggunakan command tr
user@linux $ tr -d "\r" < file.sh > file_fix.sh && rm -rf file.shNantinya file.sh akan dibersikan (dihapus \r), lalu di write ke dalam file baru bernama file_fix.sh yang nantinya inilah file yang akan kalian jalankan.
user@linux $ ./file_fix.sh
- Menggunakan command sed
user@linux $ sed -i -e "s/\r$//" file.sh
- Menggunakan command dos2unix
user@linux $ dos2unix file.shJika dos2unix belum ada pada linux kalian, installah terlebih dahulu. Kalian bisa cari referensi untuk menginstall dos2unix pada linux kalian masing-masing di google.
Oke sekian dulu, itu adalah beberapa cara yang bisa kalian lakukan untuk memperbaiki error dari /bin/bash^M: bad interpreter.
Semoga bermanfaat .