Prüfen der Ausführbarkeit mit test -x
In diesem Schritt lernen Sie, wie Sie mithilfe des test
-Befehls mit der Option -x
prüfen können, ob eine Datei ausführbar ist. Der test
-Befehl ist ein integrierter Shell-Befehl, der bedingte Ausdrücke auswertet. Die Option -x
prüft speziell auf die Ausführungsberechtigung.
Zunächst erstellen wir eine einfache Textdatei in Ihrem ~/project
-Verzeichnis. Wir verwenden den echo
-Befehl, um etwas Text in eine Datei namens my_script.sh
zu schreiben.
echo "echo 'Hello from the script!'" > ~/project/my_script.sh
Jetzt prüfen wir, ob diese Datei ausführbar ist. Standardmäßig hat eine neu erstellte Datei auf diese Weise keine Ausführungsberechtigungen.
Verwenden Sie den test -x
-Befehl, gefolgt vom Pfad zur Datei:
test -x ~/project/my_script.sh
Nachdem Sie diesen Befehl ausgeführt haben, sehen Sie keine Ausgabe, wenn der Test erfolgreich ist (das heißt, die Datei ist NICHT ausführbar). Wenn die Datei ausführbar wäre, würde test -x
einen Status von 0 zurückgeben, was in der Shell-Skripting üblicherweise als "wahr" oder "erfolgreich" interpretiert wird, aber standardmäßig nichts auf dem Terminal ausgibt.
Um das Ergebnis des test
-Befehls zu sehen, können wir den Exit-Status des vorherigen Befehls mit $?
prüfen. Ein Exit-Status von 0
bedeutet, dass der Test wahr war (die Datei ist ausführbar), und ein nicht-null-Status (normalerweise 1
) bedeutet, dass der Test falsch war (die Datei ist nicht ausführbar).
echo $?
Sie sollten eine Ausgabe von 1
sehen, was darauf hinweist, dass my_script.sh
derzeit nicht ausführbar ist.
Jetzt machen wir die Datei mit dem chmod
-Befehl ausführbar. chmod
wird verwendet, um die Berechtigungen von Dateien und Verzeichnissen zu ändern. Wir verwenden +x
, um die Ausführungsberechtigung für den Besitzer der Datei hinzuzufügen.
chmod +x ~/project/my_script.sh
Jetzt prüfen wir erneut die Ausführbarkeit:
test -x ~/project/my_script.sh
Und prüfen den Exit-Status:
echo $?
Diesmal sollte die Ausgabe 0
sein, was bestätigt, dass die Datei jetzt ausführbar ist.
Schließlich versuchen wir, das Skript auszuführen, um die Ausgabe zu sehen:
~/project/my_script.sh
Sie sollten sehen:
Hello from the script!
Dies bestätigt, dass Sie die Datei erfolgreich ausführbar gemacht und ausgeführt haben.