GNU/Linux >> Tutoriales Linux >  >> Linux

Que hace ?

Me gustaría saber qué significa el signo menos (-) y el EOC en el siguiente comando. Sé que algunos lenguajes como Perl le permiten elegir cualquier combinación de caracteres (no vinculado a EOF), pero ¿es ese el caso aquí? Y el menos es un completo misterio para mí. ¡Gracias de antemano!

ftp -v -n $SERVER  >> $LOG_FILE <<-EOC
            user $USERNAME $PWD
            binary
            cd $DIR1
            mkdir $dir_lock
            get $FILE
            bye
EOC

Respuesta aceptada:

Ese es un documento aquí.

command <<-word
here-document contents
word

La word usado para delimitar el documento aquí es arbitrario, es común, pero no necesario, usar una palabra en mayúsculas.

El - en <<-word tiene el efecto de que se eliminarán las pestañas desde el principio de cada línea en el contenido del documento aquí.

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
SERVICE_ANNOUNCEMENT

Si el documento aquí anterior se escribió con tabulaciones literales al comienzo de cada línea, daría como resultado la salida

hello
world

en lugar de

    hello
    world

Las pestañas antes del delimitador final también se eliminan con <<- (pero no sin el - ):

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
    SERVICE_ANNOUNCEMENT

(misma salida)


Linux
  1. ¿Qué hace “lc_all=c”?

  2. ¿Qué hace Echo $? ¿¿Hacer??

  3. ¿Qué hace realmente Libgl_always_indirect=1?

  4. Que hace . ~/.bashrc Comando Hacer??

  5. ¿Qué devuelve malloc(0)?

¿Qué es NGINX? ¿Como funciona?

¿Qué significa chmod 777?

¿Qué genera pwd?

¿Qué hace kill -- -0?

¿Qué hace CAP_NET_RAW?

¿Qué hace echo $? ¿hacer?