J'écris un script d'installation qui sera exécuté en tant que /bin/sh
.
Une ligne demande un fichier:
read -p "goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY
Je voudrais diviser cette longue ligne en plusieurs lignes afin qu'aucune d'entre elles ne dépasse 80 caractères. Je parle des lignes dans le code source du script; pas sur les lignes qui doivent être réellement imprimées à l'écran lors de l'exécution du script!
Ce que j'ai essayé:
Première approche:
read -p "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " REPLY
Cela ne fonctionne pas car il n'imprime pas
Would you like to add this feature? [Y|n]
.Deuxième approche:
echo "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? [Y|n] " read REPLY
Ça ne marche pas aussi bien. Il imprime une nouvelle ligne après l'invite. L'ajout d'une
-n
optionecho
n'aide pas: elle imprime simplement:-n goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] # empty line here
Ma solution de contournement actuelle est
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
et je me demande s'il y a une meilleure façon.
N'oubliez pas que je recherche une /bin/sh
solution compatible.