GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que c'est ?

J'aimerais savoir ce que signifient le moins (-) et l'EOC dans la commande ci-dessous. Je sais que certains langages comme Perl vous permettent de choisir n'importe quelle combinaison de caractères (non liés à EOF) mais est-ce le cas ici ? Et le moins est un mystère complet pour moi. Merci d'avance !

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

Réponse acceptée :

C'est un document ici.

command <<-word
here-document contents
word

Le word utilisé pour délimiter le ici-document est arbitraire, il est courant, mais pas nécessaire, d'utiliser un mot en majuscule.

Le - en <<-word a pour effet que les tabulations seront supprimées à partir du début de chaque ligne dans le contenu du document ici.

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
SERVICE_ANNOUNCEMENT

Si le document ici ci-dessus était écrit avec des tabulations littérales au début de chaque ligne, cela donnerait la sortie

hello
world

plutôt que

    hello
    world

Les onglets avant le délimiteur de fin sont également supprimés avec <<- (mais pas sans les - ):

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
    SERVICE_ANNOUNCEMENT

(même sortie)


Linux
  1. Qu'est-ce que NGINX ? Comment ça marche?

  2. Que signifie "-" (double tiret) ?

  3. Que fait Exec 3 ?

  4. Que fait réellement Libgl_always_indirect=1 ?

  5. Qu'est-ce que . Commande ~/.bashrc Faire ? ?

Que signifie chmod 777

Que retourne malloc(0) ?

Que signifie 'cd -' ?

Que fait kill -- -0 ?

Que fait CAP_NET_RAW ?

Qu'est-ce que echo $ ? fais?