2010-11-28 4 views
4

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

9
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) 
+0

+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

+0

+1: Utilisation utile du chat :-) – Johnsyweb

5

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.

+0

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

0

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.

Questions connexes