diferencias entre EOF y 'EOF'

Astor Giacomo agiacom en optonline.net
Vie Mayo 20 00:42:30 CLT 2005


On Wednesday 18 May 2005 03:20 pm, Victor Hugo dos Santos wrote:

> alguien puede explicarme la diferencia entre EOF y 'EOF' ???

A buen entendedor pocas palabras:

$ FOO=1
$ cat >file <<EOF
echo $FOO `date`
EOF
$ cat file
echo 1 May 20 00:37:42 EDT 2005
$ cat >file <<'EOF'
echo $FOO `date`
EOF
$ cat file
echo $FOO `date`

En general, cuando el shell ve COMANDO <<ALGO, captura todo lo que sigue
hasta la primera linea que contenga exactamente ALGO y lo manda a la entrada 
standard de COMANDO. Si cualquiera de los caracteres en ALGO esta
"protegido" (quoted), ya sea con " o ' o \ (como en 'EOF'), no hace ninguna
expansion en el texto que captura. En particular, no hay nada especial con
usar "EOF", puede ser cualquier cosa.

Lo curioso es que el ejemplo que mostraste no contenia ningun caracter
especial para el shell. Tal vez falto algo en el ejemplo o rpm hace algo
similar con "%" por si solo?

-ag


Más información sobre la lista de distribución Linux