Sto scrivendo uno script di installazione che verrà eseguito come /bin/sh
.
C'è una riga che richiede un file:
read -p "goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY
Vorrei spezzare questa lunga riga in molte righe in modo che nessuna di esse superi gli 80 caratteri. Sto parlando delle righe all'interno del codice sorgente dello script; non sulle linee che devono essere effettivamente stampate sullo schermo quando lo script viene eseguito!
Cosa ho provato:
Approccio frist:
read -p "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " REPLY
Questo non funziona poiché non stampa
Would you like to add this feature? [Y|n]
.Secondo approccio:
echo "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " read REPLY
Non funziona pure. Stampa una riga dopo il prompt. L'aggiunta
-n
dell'opzione aecho
non aiuta: stampa solo:-n goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] # empty line here
La mia soluzione attuale è
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
e mi chiedo se c'è un modo migliore.
Ricorda che sto cercando una /bin/sh
soluzione compatibile.