Tu as sans doute vu ce fameux "EOF" dans des commandes de ce type par exemple :
cat <<EOF >fichier
bla bla
...
bla bla
EOF
Il s'agit d'une syntaxe permettant dans Bash de définir des
documents en ligne, c'est-à-dire saisir plusieurs lignes simultanément sur l'entrée standard. Tant que le mot "EOF" n'est pas lu, la commande va "gober" les lignes que tu lui fournis sur l'entrée standard. Une fois arrivé au mot-stop "EOF" (traditionnellement "end of file"), la lecture sur l'entrée standard est terminée et ta commande s'exécute avec les données fournies sur l'entrée standard.
Tu peux tester cette syntaxe dans ton shell :
$ cat <<EOF >fichier
Si tu lances cette commande, celle-ci t'invitera à saisir, via un prompt, de nouvelles lignes tant que tu ne taperas pas "EOF". Une fois "EOF" saisi, les lignes précédentes sont affichées par cat et redirigées vers "fichier" que tu pourras ouvrir pour découvrir les lignes que tu as tapées.
Note toutefois que rien ne t'empêche de remplacer "EOF" par ce que tu veux, du moment que cette dernière ne se retrouve pas dans les données que tu saisis sur l'entrée standard.