Estou escrevendo um script de instalação que será executado como /bin/sh
.
Há uma linha solicitando um arquivo:
read -p "goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY
Gostaria de dividir esta longa linha em muitas linhas, para que nenhuma delas exceda 80 caracteres. Eu estou falando sobre as linhas dentro do código fonte do script; não sobre as linhas que realmente devem ser impressas na tela quando o script for executado!
O que eu tentei:
Primeira abordagem:
read -p "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " REPLY
Isso não funciona, pois não é impresso
Would you like to add this feature? [Y|n]
.Segunda abordagem:
echo "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " read REPLY
Não funciona tão bem. Imprime uma nova linha após o prompt. Adicionar
-n
opção aoecho
não ajuda: apenas 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
Minha solução atual é
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 eu me pergunto se existe uma maneira melhor.
Lembre-se de que estou procurando uma /bin/sh
solução compatível.