Memperbaiki Error "/bin/bash^M: bad interpreter" pada Script Bash

Memperbaiki Error "/bin/bash^M: bad interpreter" pada Script Bash. 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:
bash file.sh
atau
sh file.sh
Kalian akan mendapati error seperti ini:
Beberapa cara yang dapat kalian lakukan untuk memperbaiki ini adalah sebagai berikut.


  • Menggunakan command tr

  • tr -d "\r" < file.sh > file_fix.sh && rm -rf file.sh
    Nantinya 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.
    ./file_fix.sh 
    Menggunakan command sed
    sed -i -e "s/\r$//" file.sh
    Menggunakan command dos2unix
    dos2unix file.sh
    Jika 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 .

    Note:
    Artikel ini dibuat dan dipublish di blog IndoXploit. Namun Karena blog tersebut sekarang sudah dinonaktifkan, saya arsipkan artikelnya disini.