430 Stimmen

Wie gibt man eine mehrzeilige Zeichenkette in Bash aus?

Wie kann ich in Bash eine mehrzeilige Zeichenfolge ausgeben, ohne mehrere echo-Aufrufe wie folgt zu verwenden:

echo "Verwendung: up [--level | -n ][--help][--version]"
echo 
echo "Fehler melden an: "
echo "up Homepage: "

Ich suche einen portablen Weg, dies zu tun, nur mit den in Bash integrierten Funktionen.

6 Stimmen

Wenn Sie eine Verwendungsnachricht als Antwort auf einen falschen Aufruf ausgeben, senden Sie diese normalerweise an den Standardfehlerausgang anstelle des Standardausgangs, mit echo >&2 ...

3 Stimmen

@MarkReed Die Verwendungsnachricht wird ausgegeben, indem --help eingegeben wird (was standardmäßig ausgegeben werden sollte).

3 Stimmen

Für andere, die vorbeikommen, gibt es weitere Informationen zu "here documents": tldp.org/LDP/abs/html/here-docs.html

-1voto

Hier ist, wie ich es gemacht habe:

function help_text {
  printf "\n\
Verwendung: ./cpanel-to-cc.sh [Argumente] ... \n\
Beispiele: \n\
\t ./cpanel-to-cc.sh --client-id 123123 --api-key abc123def456 --domain example.com \n\
\t ./cpanel-to-cc.sh --client-id 123123 --tmp-dir /home/user/cpanel-to-cc \n\
\t ./cpanel-to-cc.sh --resync --domain example.com \n\
\t ./cpanel-to-cc.sh --purge \n\
\n\
Argumente: \n\
Option \t\t\t Langoption \t\t\t Funktion \n\
 -c  \t\t --client-id  \t\t Geben Sie die SiteHost-Client-ID an \n\
 -k  \t\t --api-key  \t\t Geben Sie den SiteHost-API-Schlüssel mit Zugriff auf Cloud, Job und Server-Module an \n\
 -d  \t\t --domain  \t\t Die cPanel-Domäne, die migriert werden soll. Wenn nicht angegeben, versuchen wir, alle zu migrieren \n\
 -t  \t --tmp-dir  \t\t Verzeichnis zum Speichern von temporären Dateien und Protokollen. Standardmäßig ist: $TMP_DIR \n\
 -v \t\t\t --verbose \t\t\t Debugging/ausführliche Informationen anzeigen \n\
 -y \t\t\t --assume-yes \t\t\t Automatisches Ja auf Aufforderungen annehmen. Unterstellen Sie \"ja\" als Antwort auf alle Aufforderungen \n\
 -r \t\t\t --resync \t\t\t Verwenden Sie gespeicherte Anmeldedaten und kopieren Sie Daten in Container bereits erstellt. \n\
 -p \t\t\t --purge \t\t\t Entfernen Sie vorhandene Metadaten auf dem Server. Dies entfernt Dateien in: $TMP_DIR \n\
 -h \t\t\t --help \t\t\t Diese Hilfe anzeigen und beenden \n\
 \n"
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X