GNU/Linux >> Linux Esercitazione >  >> Linux

bash sh - comando non trovato

Ho risolto aggiungendo i permessi di esecuzione:

sudo chmod +x file.sh


Rimuovi ; dalla fine delle tue righe di script.

Questo non accade nella mia bash, quindi non sono sicuro di cosa sia esattamente sbagliato, ma la mia ipotesi è questa:

; è un separatore di comandi. Poiché il tuo ultimo comando termina con ; , la tua bash probabilmente si aspetta un altro comando dopo. Poiché lo script termina, però, legge un comando vuoto, che non può eseguire.


La mia ipotesi è che tu abbia caratteri di controllo non stampabili nel file, o che abbia \r\n (CRLF) terminazioni di riga (modalità dos/windows).

Prova a verificarlo con questi comandi:

$ hexdump -C build.sh 
00000000  23 21 2f 62 69 6e 2f 62  61 73 68 0a 63 64 20 7e  |#!/bin/bash.cd ~|
00000010  2f 77 6f 72 6b 73 70 61  63 65 2f 74 72 75 6e 6b  |/workspace/trunk|
00000020  3b 0a 73 76 6e 20 75 70  3b 0a                    |;.svn up;.|
0000002a

$ file build.sh 
build.sh: Bourne-Again shell script, ASCII text executable

$ unix2dos build.sh 
unix2dos: converting file build.sh to DOS format ...

$ hexdump -C build.sh 
00000000  23 21 2f 62 69 6e 2f 62  61 73 68 0d 0a 63 64 20  |#!/bin/bash..cd |
00000010  7e 2f 77 6f 72 6b 73 70  61 63 65 2f 74 72 75 6e  |~/workspace/trun|
00000020  6b 3b 0d 0a 73 76 6e 20  75 70 3b 0d 0a           |k;..svn up;..|
0000002d

$ file build.sh 
build.sh: Bourne-Again shell script, ASCII text executable, with CRLF line terminators

Ho risolto il mio errore da questo comando.

sudo chmod +x build.sh

Linux
  1. [Risolto] bash:sudo:comando non trovato

  2. Comando non trovato in Bash risolto

  3. Marca:Dh:Comando non trovato?

  4. bash:netstat:comando non trovato.

  5. ifrename:comando non trovato

Risoluzione dei problemi di errore "Bash:comando non trovato" in Linux

nc:comando non trovato

aws-shell:comando non trovato

du:comando non trovato

rm:comando non trovato

mv:comando non trovato