Linux Bash Programierung

Gast #2338368
Lesenswert?

Hallo Zusammen

Ich möchte so wie in Windows eine *.bat Datei ausführen und habe im Netz 
folgendens Beispiel gefunden

#!/bin/bash
echo "Hello World"

Diesen Inhalt habe ich in eine Datei (hallo.sh) geschrieben und wenn ich 
diese ausführe kommt immer die Fehlermeldung
bash: hallo.sh Kommando nicht gefunden.

Was mache ich falsch. Ich erbitte mir eure Hilfe. Danke.

Lg.
Johann K.
Gast #2338396
Lesenswert?

Klatec schrieb:

> Diesen Inhalt habe ich in eine Datei (hallo.sh) geschrieben und wenn ich
> diese ausführe kommt immer die Fehlermeldung
> bash: hallo.sh Kommando nicht gefunden.
>
> Was mache ich falsch. Ich erbitte mir eure Hilfe. Danke.

Das Verzeichnis, in dem du bist, ist nicht in $PATH, wo ausführbare 
Programme gesucht werden.

Die bash sucht sozusagen überall, nur nicht direkt vor der Nase. :-)

Die Lösung von Peter II ist richtig. Ebenso könntest du "bash hallo.sh" 
eingeben oder dein aktuelles Verzeichnis dem $PATH hinzufügen.

Letzteres laß aber lieber sein, wenn du dich damit nicht auskennst.
#2338410
Lesenswert?

Du kannst auch "." an PATH anhängen. Aber es gibt gute Gründe warum man 
das per Standard bleiben lässt - auf einem Multiusersystem/Server könnte 
man sonst viel zu leicht jemanden ein Programm unterschieben was statt 
einem erwarteten/nicht installierten ausgeführt wird!

Ausserdem muss die Datei execute-Rechte haben, oder mit "sh hallo.sh" 
ausgeführt werden.

PS wie "#!/bin/bash" funktioniert erkennt man ganz schnell wenn man ein 
(ersetzbares!) Skript mal mit "#!/bin/rm" beginnt :)
#2338415
Lesenswert?

PS Skripte die soweit fertig sind dass man sie ohne besondere 
Aufmerksamkeit auf dem Rechner nutzen kann bewahrt man traditionell in 
/usr/local/bin auf, das ist idR auch in PATH drin.

PPS die Variable $PATH zu nennen ist eher verwirrend für Anfänger; das 
ist die Syntax um die Variable PATH zu lesen und nicht der Name der 
Variable.
Gast #2338464
Lesenswert?

Danke für eure Antworten

Mit dem Vorschlag vom Martin ("./hallo.sh") hat's funktioniert. Danke.

Irgend wie bereuhe ich meine Entscheidung mich mit Embedded Linux zu 
beschäftigen. Ist ein gewaltiger Sprung von 80C51 auf ARM, aber jetzt 
muss ich da durch, halt mit kleinen Schritten und der erste ist die 
Automatisierung des Compilers durch Aufruf des Files.
Lg.
Johann K.
Gast #2341229
Lesenswert?

make:
http://www.pronix.de/pronix-1187.html
Compiler und IDE:
http://www.pronix.de/pronix-948.html

Klatec schrieb:
> Irgend wie bereuhe ich meine Entscheidung mich mit Embedded Linux zu
> beschäftigen. Ist ein gewaltiger Sprung von 80C51 auf ARM, aber jetzt
> muss ich da durch
Ist auch schon ein heftiger Sprung, wie hast du es geschafft nie ein 
Makefile zu sehen? Immer nur mit IDE gearbeitet? ;-)

Wenn du zu Linux passt, wirst du es nicht bereuen und irgendein 
Linux wird auf deinem Desktop landen... ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren