GNU/Linux >> Linux Esercitazione >  >> Linux

Cosa fa ?

Mi piacerebbe sapere cosa significano il meno (-) e l'EOC nel comando seguente. So che alcuni linguaggi come Perl ti consentono di scegliere qualsiasi combinazione di caratteri (non vincolati a EOF), ma è così qui? E il meno è un completo mistero per me. Grazie in anticipo!

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

Risposta accettata:

Questo è un qui-documento.

command <<-word
here-document contents
word

La word usato per delimitare il here-document è arbitrario, è comune, ma non necessario, usare una parola maiuscola.

Il - in <<-word ha l'effetto che le schede verranno rimosse dall'inizio di ogni riga nel contenuto del here-document.

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
SERVICE_ANNOUNCEMENT

Se il documento qui sopra è stato scritto con schede letterali all'inizio di ogni riga, risulterebbe nell'output

hello
world

piuttosto che

    hello
    world

Anche le schede prima del delimitatore finale vengono eliminate con <<- (ma non senza il - ):

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
    SERVICE_ANNOUNCEMENT

(stesso output)


Linux
  1. Cosa significa "-" (doppio trattino)?

  2. Cosa fa "lc_all=c"?

  3. Cosa fa Eco $? Fare??

  4. Cosa fa effettivamente Libgl_always_indirect=1?

  5. Cosa fa . ~/.bashrc Comando Fare??

Cosa significa chmod 777

Cosa fa poll() con un timeout pari a 0?

Cosa produce pwd?

Cosa fa kill -- -0?

Cosa fa CAP_NET_RAW?

Cosa significa echo $? fare?