Donc, il semble read
commande prend seulement 1 ligne, et si je voulais entrer un court paragraphe avec des sauts de ligne? Qu'est-ce que j'utiliserais? Je pense qu'il existe une commande qui se termine lorsque vous appuyez sur ctrl + d, de sorte que la touche de retour est utilisée pour démarrer un nouveau paragraphe.Unix: Comment puis-je lire plusieurs lignes?
Répondre
text=$(cat)
Permet de taper du texte avec des retours à la ligne, terminé par un Ctrl-d au début d'une ligne.
L'équivalent en Bash, sans avoir besoin d'utiliser un utilitaire externe est
text=$(</dev/stdin)
Vous pouvez déposer l'utilisateur dans son éditeur favori, avec un texte commenté expliquant quelles informations sont nécessaires et comment faire des sauts de paragraphe. C'est comme ça que la plupart des vcs commettent. Voir ldapvi pour un exemple plus sophistiqué de ce type d'interface.
Ceci est le plus intelligent des trois. Plus les entrées sont longues, plus il y a d'erreurs. Lancer '$ EDITOR' aide beaucoup, quand plus d'une phrase est saisie. – progo
Si les sauts de ligne ne sont pas essentiels dans le résultat, vous pouvez utiliser le caractère '\' pour quitter les nouvelles lignes en entrée.
+1. Bien que je préfère de loin la méthode d'entrée suggérée par Tobu, c'est plutôt ce que OP voulait. – progo
+1: Utilisation utile du chat :-) – Johnsyweb