Estoy escribiendo un script de instalación que se ejecutará como /bin/sh
.
Hay una línea que solicita un archivo:
read -p "goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY
Me gustaría dividir esta larga línea en muchas líneas para que ninguna de ellas supere los 80 caracteres. Estoy hablando de las líneas dentro del código fuente del script; ¡no se trata de las líneas que realmente se imprimirán en la pantalla cuando se ejecute el script!
Lo que he intentado:
Primer enfoque:
read -p "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " REPLY
Esto no funciona ya que no se imprime
Would you like to add this feature? [Y|n]
.Segundo enfoque:
echo "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " read REPLY
No funciona tan bien Imprime una nueva línea después de la solicitud. Agregar
-n
opción aecho
no ayuda: solo imprime:-n goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] # empty line here
Mi solución actual es
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
y me pregunto si hay una mejor manera
Recuerda que estoy buscando una /bin/sh
solución compatible.