Izpildot čaulas skriptu, tiek atgriezta šāda kļūda:
-bash: ./log_job.sh: /bin/bash^M: slikts tulks: Nav šāda faila vai direktorija Kļūdas cēloņi:
.sh skripts ir rakstīts Windows sistēmā, tāpēc var būt neredzamas rakstzīmes, no iepriekš minētās kļūdas uzvednes ir ļoti iespējams, ka skripta fails ir DOS formātā, tas ir, katras rindas beigas tiek identificētas ar \r\n, un tā ASCII kods ir 0x0D, 0x0A attiecīgi.
Kļūda, kas tiek parādīta, izpildot čaulas skriptu, galvenokārt ir saistīta ar to, ka čaulas skripta fails ir DOS formātā, t.i., katras rindas beigas tiek identificētas ar \r\n, un UNIX formāta faila beigas tiek identificētas ar \n.
Īpaša piezīme: ^M nav ^ un burts M, ko rada taustiņa maiņa + 6, tā ir rakstzīme, tā ASCII ir 0x0D, veids, kā to ģenerēt, ir vispirms nospiest CTRL+V un pēc tam ievadīt (vai CTRL+M)
šķīdums
Ir vairāki veidi, kā pārbaudīt, vai skripta fails ir DOS vai UNIX formātā.
(1) Pārbaudiet skripta formātu: cat -A faila nosaukums No parādīšanas rezultātiem var spriest, ka faila rinda, kas beidzas dos formātā, ir ^M$, un faila rinda, kas beidzas unix formātā, ir $.
(2) Modificējiet skripta formātu: vi faila nosaukums, lai atvērtu failu un izpildītu:set ff=unixIestatiet failu uz unix un izpildiet:wq, saglabāts UNIX formātā.
(3) Pārbaudiet skripta formātu: cat -A faila nosaukums No parādāmā rezultāta jūs varat spriest, ka faila rinda, kas beidzas ar dos formātu, ir ^M$, un faila rinda, kas beidzas unix formātā, ir $.
|