precisions sur fonctionnement heredoc
This commit is contained in:
27
README.md
27
README.md
@@ -1,5 +1,6 @@
|
||||
## TESTS SIGNAUX WITH HERE-DOCS :
|
||||
**bash**
|
||||
|
||||
1. dans l'exemple ci-dessous j'ecris ^D a l'emplacement où je le tape, mais en vrai il n'apparait pas dans bash
|
||||
et j'ai mis a gauche le compte des lignes de heredocs cumulés depuis le debut du process
|
||||
```text
|
||||
@@ -54,11 +55,26 @@ et j'ai mis a gauche le compte des lignes de heredocs cumulés depuis le debut d
|
||||
|
||||
[bash]$
|
||||
```
|
||||
le texte de warning ne decrit pas la ligne du heredoc au niveau de laquelle ^D a ete pressé
|
||||
il decrit la premiere ligne de chaque heredoc (donc peut importe qu'on ai fait un heredoc de 1 ligne ou de 25 lignes, il donne le numero de la premiere), plus le nombre total de lignes de tous les heredocs depuis le debut du process (j'ai l'impression)
|
||||
et quand il rencontre un DELIMITER ca compte pour deux lignes (DELIMITER + '\n' je pense)
|
||||
|
||||
- le texte de warning ne decrit pas la ligne du heredoc au niveau de laquelle ^D a ete pressé
|
||||
|
||||
- il decrit la premiere ligne de chaque heredoc (donc peut importe qu'on ai fait un heredoc de 1 ligne ou de 25 lignes, il donne le numero de la premiere), plus le nombre total de lignes de tous les heredocs depuis le debut du process (j'ai l'impression)
|
||||
|
||||
- et quand il rencontre un DELIMITER ca compte pour deux lignes (DELIMITER + '\n' je pense)
|
||||
|
||||
2. Ctrl-C quite le mode heredoc a n'importe quel moment, Ctrl-D quite le mode heredoc avec un message, uniquement si le curseur est vide
|
||||
```text
|
||||
[bash]$ cat << EOF
|
||||
> ^C
|
||||
[bash]$ cat << EOF
|
||||
> sdfdffs^C
|
||||
[bash]$ cat << EOF
|
||||
> ^D bash: warning: here-document at line 3 delimited by end-of-file (wanted `EOF')
|
||||
[bash]$ cat << EOF
|
||||
> blablabla^Dblabla^D^D^Dblabla ^D blabla
|
||||
> ^D bash: warning: here-document at line 5 delimited by end-of-file (wanted `EOF')
|
||||
[bash]$ cat << EOF
|
||||
```
|
||||
|
||||
3. heredoc avec un echo interrompu par un Ctrl-D saute un ligne avant le nouveau prompt, mais pas heredoc avec un cat :
|
||||
```text
|
||||
@@ -76,7 +92,7 @@ et quand il rencontre un DELIMITER ca compte pour deux lignes (DELIMITER + '\n'
|
||||
|
||||
4. avec une redirection dans un fichier, le heredoc ecrit dans le fichier a la reception du DELIMITER ou bien d'un Ctrl-D, mais pas d'un Ctrl-C :
|
||||
|
||||
avec Ctrl-D :
|
||||
- avec Ctrl-D :
|
||||
```text
|
||||
[bash]$ cat << EOF > file.txt
|
||||
> hello
|
||||
@@ -86,7 +102,8 @@ avec Ctrl-D :
|
||||
hello
|
||||
test
|
||||
```
|
||||
avec Ctrl-C
|
||||
|
||||
- avec Ctrl-C
|
||||
```text
|
||||
[bash]$ cat << EOF > file.txt
|
||||
> bonjour
|
||||
|
||||
Reference in New Issue
Block a user