Ausführen-Befehl

florry

Active Member
Auch auf die Gefahr hin, dass ich zum Gespött werde ^^
Ich les immer, dass man unter Dateirechten unterscheidet, zwischen lesen (r), schreiben (w) und ausführen (x).
Wie zum Kuckuck führt man unter Unix denn Programme aus? Ich mein, wie lautet der Befehl um z.B. ein Shellskript auszuführen?!
Ich lese nur immer, dass man das kann, aber nie, wie der Befehl für sowas lautet. Weder in Tabellen mit wichtigen Befehlen noch in irgendwelchen Anleitungen.
So, jetzt dürft ihr lachen, ich werd aber langsam so ziemlich bekloppt :/
thx für die, die neben dem totlachen noch Zeit finden, mir zu antworten
 
Wenn das Skript in PATH liegt, dann einfach den Dateiname eintippen.
Wenn es nicht in PATH liegt, den vollständigen Pfad verwenden.

Wenn das Executable-Flag nicht gesetzt ist mit
> sh <PfadZumSkript>
 
Hi,

genauso wie unter windows in der Konsole ;) in dem du den Namen der Datei eingisbst.
Auch die Geschichte mit den Pfaden ist gleich. Ausserdem müssen die Dateien Ausführbar sein... chmod o+x shellscrip
Damit kannst du ein Script als Eigentümer ausführen.

Und es gibt keine dummen Fragen, nur dumme Antworten ;)

Viele Grüße
Tom

EDIT: Ups, da war einer schneller ;)
 
@tom:
fast! den namen von dem shellskript einzutippen klappt (hoffentlich) nicht. das funktioniert nur, wenn die PATH-variable zum beispiel so aussieht:

Code:
% echo $PATH
/usr/bin:/usr/local/bin:.

sprich, wenn die einen punkt enthaelt.

dann kannst du dein shellskript mit
Code:
% shellskript.sh
starten.
sonst nur mit

Code:
% ./shellskript.sh


aber das ist eine sicherheitsluecke.
guck dir mal folgenden code an:

Code:
% echo "rm -rf $HOME" >ls
% chmod u-x ls
% chmod og+rx ls

jeder andere benutzer der dann in das verzeichnis geht, und ls eintippt, wird anschliessend ohne eigenes home-dir dastehen.
deswegen: immer raus mit dem punkt aus dem PATH, und immer fleissig ./ eingeben.
 
Jop, ich finde es ja immer wieder schade, dass teilweise nicht erwähnt wird, dass man eine Datei die ausführbar ist mit ./ ausführen kann/muss. Ich hatte mir mal ein Linux buch vor langer Zeit ausgeliehen, da stand so etwas nicht.
 
Guten Morgen,

allen vielen Dank für die Antworten. Ich war schon echt am verzweifeln.
Ich bin zwar ehemaliger Windowsnutzer, aber habe nie mit der Eingabekonsole gearbeitet und musste daher auch nie die Programme von dort starten xD
Ich hab mich halt mal mit FreeBSD beschäftigt, weils mich fasziniert.

Und es hat funktioniert :D Danke euch allen =))))
 
Back
Top