Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 12633|Svar: 0

[linux] /bin/bash^M: bad interpreter: No such file or directory

[Kopier link]
Opslået på 13/06/2020 22.40.35 | | | |
Når et shell-script udføres, returneres følgende fejl:

-bash: ./log_job.sh: /bin/bash^M: dårlig tolk: Ingen sådan fil eller mappe
Fejlårsager:

.sh scriptet er skrevet under Windows-systemet, så der kan være usynlige tegn, og ud fra ovenstående fejlprompt er det meget sandsynligt, at scriptfilen er i DOS-format, det vil sige, at slutningen af hver linje identificeres med \r\n, og dens ASCII-kode er 0x0D, 0x0A henholdsvis.

Fejlen, der vises, når et shell-script udføres, skyldes hovedsageligt, at shell-scriptfilen er i DOS-format, dvs. slutningen af hver linje identificeres med \r\n, og slutningen af UNIX-formatfilen identificeres med \n.

Særlig note: ^M er ikke ^ og bogstavet M, som produceres af tastskiftet + 6, det er et tegn, dets ASCII er 0x0D, måden at generere det på er ved først at trykke CTRL+V og derefter indtaste (eller CTRL+M)


opløsning

Der er flere måder at kontrollere, om scriptfilen er i DOS- eller UNIX-format.

(1) Tjek scriptets format: cat -A filnavn Ud fra visningsresultaterne kan det vurderes, at fillinjen, der ender i dos-format, er ^M$, og fillinjen, der ender i unix-format, er $.



(2) Ændr formatet på scriptet: vi-filnavn for at åbne filen og udføre filen:sæt ff=UnixSæt filen til Unix og eksekver filen:wq, gemt i UNIX-format.

  (3) Tjek formatet på scriptet: cat -Et filnavn Ud fra visningsresultatet kan du vurdere, at fillinjen, der ender i dos-format, er ^M$, og fillinjen, der ender i unix-format, er $.







Tidligere:SSIS Tutorial 1 Introduktion til SQL Server Integration Services
Næste:Nginx logopdeling og sletning
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com