Hi,
Ich habe mich gestern, nach langer Zeit mal wieder daran gemacht ein Bashscript zu schreiben.
Ich stelle fest das meine Bash sich allerdings sehr eigenartig verhält.
Wenn ich z.B aus einem Script heraus den Befehl cp ... verwende kriege ich folgende Fehlermeldung:
cp: command not found
Dasselbe Problem habe ich mit jedem Programm dass ich aus dem Script starten will wie z.B licq,grep,cp,tail usw.
Allerdings funktionieren diese Kommandos ohne Probleme wenn ich sie ohne Script, direkt in die Bash(per Eterm) eingebe.
es funktionieren nur minimal Kommandos wie cd,test,if usw.
btw:Ich benutze Debian SID und meine Bash ist Version 3.00.16
mfg
Syke
Bashscript - Befehl nicht gefunden
Bashscript - Befehl nicht gefunden
früher als noch nichts funktionierte, war alles einfacher! // linux
du kannst in deinem Script die PATH Environmentvariable setzen oder auch der Frage nachgehen, warum diese anscheindend leer ist.
Das Kommando "which" zeigt dir, ob ein Programm gefunden wurde und wo es gefunden wurde.
Dieses Kommando zeigt dir, warum cp gefunden wurde
Die PATH Environmentvariable enthält also bei mir folgende Verzeichnisse:
Alle Programme in diesen Verzeichnissen werden also gefunden.
Die Kommandos die bei dir funktionieren (cd,if), sind sogenannte "builtin" Kommandos, dafür benötigt die Shell keine PATH Environmentvaribale. Das Kommando "test" existiert sowohl als Programm, als auch als builtin Kommando.
Das Kommando "which" zeigt dir, ob ein Programm gefunden wurde und wo es gefunden wurde.
Code: Alles auswählen
gms@gms1:~$ which cp
/bin/cp
Code: Alles auswählen
gms@gms1:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11
Code: Alles auswählen
/usr/local/bin
/usr/bin
/bin
/usr/bin/X11
Die Kommandos die bei dir funktionieren (cd,if), sind sogenannte "builtin" Kommandos, dafür benötigt die Shell keine PATH Environmentvaribale. Das Kommando "test" existiert sowohl als Programm, als auch als builtin Kommando.
Re: Bashscript - Befehl nicht gefunden
Hi,
Ohne eine Erklaehrung dafuer zu haben, wuerde ich darauf tippen, das die Befehle nicht im Pfad enthalten sind. Schreib doch mal ein "echo $PATH", oder besser noch ein "set" in ein Script, diesen Output vergleichst du dann mal mit dem was angezeigt wird, wenn du die Befehle manuell in einer Shell ausfuehrst. Wenn echo nicht gefunden wird, es liegt in /binSyke hat geschrieben:Ich habe mich gestern, nach langer Zeit mal wieder daran gemacht ein Bashscript zu schreiben.
Ich stelle fest das meine Bash sich allerdings sehr eigenartig verhält.
Wenn ich z.B aus einem Script heraus den Befehl cp ... verwende kriege ich folgende Fehlermeldung:
cp: command not found
Dasselbe Problem habe ich mit jedem Programm dass ich aus dem Script starten will wie z.B licq,grep,cp,tail usw.
Allerdings funktionieren diese Kommandos ohne Probleme wenn ich sie ohne Script, direkt in die Bash(per Eterm) eingebe.
Das sind auch "Shell Build In's", die gehen immer.Syke hat geschrieben: es funktionieren nur minimal Kommandos wie cd,test,if usw.
btw:Ich benutze Debian SID und meine Bash ist Version 3.00.16
Roland
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"