Shell-skripti käivitamisel tagastatakse järgmine viga:
-bash: ./log_job.sh: /bin/bash^M: halb tõlgendaja: Sellist faili ega katault puudub Viga põhjustab:
.sh skript on kirjutatud Windowsi süsteemis, seega võivad seal olla nähtamatud tähed; ülaltoodud veateate põhjal on väga tõenäoline, et skriptifail on DOS-formaadis, st iga rea lõpp on tuvastatud \r\n ja ASCII kood on 0x0D, 0x0A vastavalt.
Shell-skripti käivitamisel kuvatav viga tuleneb peamiselt sellest, et shell-skriptifail on DOS-formaadis, st iga rea lõpp on tähistatud \r\n-ga ja UNIX-formaadi faili lõpp on tähistatud \n-ga.
Eriline märkus: ^M ei ole klahvi nihutusega + 6 tekitatud ^ ja täht M, see on märk, selle ASCII on 0x0D, selle genereerimiseks tuleb esmalt vajutada CTRL+V ja seejärel sisestada (või CTRL+M)
lahus
On mitmeid viise, kuidas kontrollida, kas skriptifail on DOS- või UNIX-formaadis.
(1) Kontrolli skripti formaati: cat -A failinimi Kuvatulemuste põhjal võib hinnata, et dos-formaadis lõpev failirida on ^M$ ja unix-formaadis lõpev failirida on $.
(2) Muuta skripti vormingut: vi failinimi, et fail avada ja käivitada:set ff=unixSeadista fail unix-iks ja käivita:wq, salvestatud UNIX-formaadis.
(3) Kontrolli skripti vormingut: cat -A failinimi Kuvamise tulemuse põhjal saab otsustada, et failirida, mis lõpeb dos-formaadis, on ^M$ ja failirida, mis lõpeb unix-formaadis, on $.
|