Ich verwende gerne das folgende Format in Skripten für Befehle mit vielen Parametern (zur besseren Lesbarkeit):
docker run \
--rm \
-u root \
-p 8080:8080 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$HOME":/home \
jenkinsci/blueocean
Aber manchmal möchte ich einen dieser Parameter wie folgt kommentieren:
# -p 8080:8080
Dies funktioniert nicht, da die EOL als Rückgabe interpretiert wird und der Befehl fehlschlägt. Versuchte dies auch:
\ # -p 8080:8080
was auch nicht funktioniert hat.
Frage: Gibt es eine Möglichkeit, den Parameter zu kommentieren, sodass er immer noch in einer eigenen Zeile steht, aber ich könnte das Skript ausführen?
shell-script
shell
scripting
Chirlo
quelle
quelle
:
als leeren Befehl oder Kommentar), funktioniert aber.:
wäretrue
Sie können einen Teil einer Zeile nicht auskommentieren.
Beachten Sie, dass der Befehl, da die Zeilenumbrüche maskiert sind, tatsächlich eine einzelne Zeile (für den Shell-Parser) ist und es keine Möglichkeit gibt, einen Teil einer einzelnen Zeile auskommentieren (außer ganz am Ende).
Erstellen Sie stattdessen einfach eine Kopie des ursprünglichen Befehls in einem Editor und kommentieren Sie ihn vollständig aus, während Sie den geänderten Befehl nicht kommentieren:
Alternativ, wenn Sie die
-p
Option und ihr Argument gelegentlich löschen oder ändern möchten (vorausgesetztbash
oder eine Shell mit derselben Array-Syntax):Dann ändern oder kommentieren Sie einfach die Zuordnung zu
port
.Weiter gehen:
Innerhalb der Array-Zuweisung gibt es keine Probleme beim Auskommentieren einer Zeile:
quelle