Skript ausführen?

Peter Griffin

Commander
Registriert
Jan. 2010
Beiträge
2.828
Ich habe ein Skript geschrieben, was ich gerne ausführen würde, allerdings kommt in der Konsole immer die Meldung "Permission denied". Ich weiß, dass es mit den Rechten zusammenhängt, also habe ich meinem Skript Schreibrechte (chmod -x) hinzugefügt. Gebe ich nun erneut das Skript an, kommt aber immer noch die Meldung "Permission denied".

Es handelt sich dabei nur um ein Probeskript, wo ich einfach nur grundlegende Funktionen (if-Anweisungen usw.) ausprobieren will (bin erst dabei, mich in das Thema reinzuarbeiten), daher habe ich das Skript der Einfachheit halber script.sh genannt. Damit ich beim Aufruf nicht erst den Pfad zum Skript angeben muss, habe ich das Skript unter /bin gespeichert, denn /bin ist ja in der PATH-Variable enthalten (habe noch mal mit echo $PATH nachgeschaut).

Im Internet habe ich noch diese sehr ähnliche Lösung gefunden:
Bash:
chmod -x /bin/script.sh
./script.sh
Also nach dem Hinzufügen der Ausführungs-Rechte direkt den Skript-Aufruf, nur mit ./ davor. Aber dann sagt er mir sogar, er konnte keine Datei bzw. kein Verzeichnis mit diesem Namen finden, obwohl sich die Datei genau dort befindet.

Wie kann ich mein Skript nun aufrufen?

Danke im Voraus! :)
 
Schonmal so versucht?

Bash:
bash script.sh
 
Danke, damit funktioniert es! :) Aber wie sorge ich dafür, dass man das Skript einfach mit dem Aufruf script.sh ausführen kann? Also ohne bash davor?
 
chmod -x gibt keine Schreibrechte, es entzieht die Ausführrechte... wobei da noch die Angabe für welchen Personenkreis das gelten soll fehlt.

Wie sieht eigentlich die erste zeile deines Script, aslo die Shebang aus?
 
Wie schon @Jesterfox geschrieben hat, sollte deine erste Zeile im Skript so aussehen:

Bash:
#!/bin/bash

Für Ausführrechte musst du statt "-x" nur "+x" verwenden.
 
Okay, vielen Dank euch beiden, mit dem Shebang und chmod +x geht es jetzt endlich. :)

Grüße
 
BTW:
Mit "ls -l script.sh" oder gar "ls -l" für das komplette aktuelle Verzeichnis kannst du dir anzeigen lassen, welche Rechte die Datei(en) haben. Dann hättest du sofort bemerkt, dass dein "chmod -x ..." nicht tut, was du damit beabsichtigt hast.
 
Zurück
Oben