Comando "gato": ¿cómo escaping automáticamente de todo lo que podría ser una violación?

Si copy los contenidos de

httpd.conf 

y luego pégalo en un command cat … como este …

 #!/bin/bash cat > /test << EOF pasted here.. EOF 

te encuentras con este error:

 -bash: command substitution: line 1: unexpected EOF while looking for matching `'' -bash: command substitution: line 4: syntax error: unexpected end of file 

tal vez la solución es escaping de los signos de dólar y tal vez incluso las citas, etc.

pero dado que este es un file tan grande … ¿pueden escapingse automáticamente los signos de dólar?

¿Es mi única opción escaping de ellos a través de otro progtwig y luego dárselos al command cat?

Compare los dos documentos aquí en el siguiente ejemplo:

 (yeti@darkstar:6)~/wrk/tmp$ cat ./xyzzy #!/bin/bash cat << EOF Version 1 - Today is $(date) EOF cat << 'EOF' Version 2 - Today is $(date) EOF (yeti@darkstar:6)~/wrk/tmp$ ./xyzzy Version 1 - Today is Sa 21. Jun 08:51:38 CEST 2014 Version 2 - Today is $(date) 

Use comillas alnetworkingedor de la cadena "EOF":

 cat > /test <<'EOF' stuff $(pwd) EOF 

salidas

 stuff $(pwd) 

literalmente.

Ver el manual bash en henetworkingocs. Cualquier comilla en la cadena del terminador evita cualquier expansión y sustitución en el cuerpo.