Ich schreibe ein Installationsskript, das als ausgeführt wird /bin/sh
.
Eine Zeile fordert zur Eingabe einer Datei auf:
read -p "goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY
Ich möchte diese lange Zeile in viele Zeilen aufteilen, damit keine mehr als 80 Zeichen enthält. Ich spreche über die Zeilen im Quellcode des Skripts; nicht über die Zeilen, die beim Ausführen des Skripts tatsächlich auf dem Bildschirm gedruckt werden sollen!
Was ich versucht habe:
Frist Ansatz:
read -p "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " REPLY
Dies funktioniert nicht, da nicht gedruckt wird
Would you like to add this feature? [Y|n]
.Zweiter Ansatz:
echo "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " read REPLY
Funktioniert nicht so gut. Nach der Eingabeaufforderung wird eine neue Zeile gedruckt. Das Hinzufügen einer
-n
Optionecho
hilft nicht: Es wird nur gedruckt:-n goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] # empty line here
Meine aktuelle Problemumgehung ist
printf '%s %s ' \ "goat can try change directory if cd fails to do so." \ "Would you like to add this feature? [Y|n] " read REPLY
und ich frage mich, ob es einen besseren Weg gibt.
Denken Sie daran, dass ich nach einer /bin/sh
kompatiblen Lösung suche .