GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was macht ?

Ich würde gerne wissen, was das Minus (-) und das EOC im folgenden Befehl bedeuten. Ich weiß, dass Sie in einigen Sprachen wie Perl eine beliebige Kombination von Zeichen auswählen können (nicht an EOF gebunden), aber ist das hier der Fall? Und das Minus ist mir ein absolutes Rätsel. Vielen Dank im Voraus!

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

Akzeptierte Antwort:

Das ist ein Here-Dokument.

command <<-word
here-document contents
word

Das word verwendet, um das Here-Dokument abzugrenzen, ist willkürlich, es ist üblich, aber nicht notwendig, ein Wort in Großbuchstaben zu verwenden.

Der - in <<-word bewirkt, dass im Inhalt des Hier-Dokuments die Tabulatoren am Anfang jeder Zeile entfernt werden.

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
SERVICE_ANNOUNCEMENT

Wenn das obige Here-Dokument mit wörtlichen Tabulatoren am Anfang jeder Zeile geschrieben wurde, würde dies zu der Ausgabe führen

    hello
    world

statt

    hello
    world

Tabulatoren vor dem Endetrennzeichen werden ebenfalls mit <<- entfernt (aber nicht ohne den - ):

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
    SERVICE_ANNOUNCEMENT

(gleiche Ausgabe)


Linux
  1. Was bedeutet „–“ (Doppelstrich)?

  2. Was bedeutet Exec 3?

  3. Was macht Bamfdaemon?

  4. Was gibt malloc(0) zurück?

  5. Wofür steht 'cd-'?

Was bedeutet chmod 777

Was macht . ~/.bashrc Befehl Tun??

Was macht poll() mit einem Timeout von 0?

Was macht ulimit -s unlimited?

Was genau macht init?

Was gibt pwd aus?