Hallo Danke für Antworten... > . [jonny@ganymed ~]$ x=" Das\n ist ein\n String\n mit Leerzeichen\n an Anfgang." > . [jonny@ganymed ~]$ echo -e "$x" > . Das > . ist ein > . String > . mit Leerzeichen > . an Anfgang. Zu viele Sonderzeichen die die Ausgabe defekt machen :-( Besonders bei Nutzung von doubble quotes. Am Sa., 3. Feb. 2024 um 10:47 Uhr schrieb Ulf Volmer <u.volmer@u-v.de>: > > Am 03.02.24 um 01:57 schrieb Florian (flobee): > > > > __ _,--="=--,_ __ > > / \." .-. "./ !\ > > \ `| \O/ :_: \O/ |\__/ > > `-'| :="~` _ `~"=: | > > .---{ }--| /,.-'-.,\ |--{ }---. > > ) (_)_)_) \_/`~-===-~`\_/ (_(_(_) ( > > > > Ein aus figlet und/oder boxes kopierter String liegt in einem shell > > script, bash, vor. > > > > Diesen string möchte ich zu gegebener Zeit hier oder dort ausgeben. > > (interaktives script) > > Nur die bash und das script stehen zu Verfügung. > > > > Ich bekomme es nicht hin, diesen String in eine Variable zu packen, um > > via echo $hund eine passende Ausgabe zu haben. Ein 'Banner', der > > gezeigt werden will. > > Spricht irgendwas gegen > > echo "$(~/a.sh)" > > Oder, wenn Du zwingend eine Variable haben möchtest: > > a="$(~/a.sh)" Dann brauche ich eine extra Datei. Genau das kann andere Probleme machen und sollte möglichst _nicht_ so sein. Aber: Die mir derzeit einzige bekannte Lösungsmöglichkeit. Alles in einem Script? eg (funktioniert aber es sollte alles in eine Datei): # cat >$TMPFILE <<'LONGSTRING' ... special chars LONGSTRING In Anlage ein Beispiel. Muss ich wirklich alle Zeichen suchen und escapen? Geht das nicht einfacher? :-) boxes oder figlet sind auf dem Zielsystem nicht verfügbar und lassen weniger Individualisierungen ermöglichen. VG
Attachment:
test.sh
Description: application/shellscript