GNU/Linux >> Belajar Linux >  >> Linux

Apa?

Saya ingin tahu apa artinya minus (-) dan EOC pada perintah di bawah ini. Saya tahu beberapa bahasa seperti Perl memungkinkan Anda memilih kombinasi karakter apa pun (tidak terikat pada EOF) tetapi apakah itu masalahnya di sini? Dan minus adalah misteri yang lengkap bagi saya. Terima kasih sebelumnya!

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

Jawaban yang Diterima:

Itu dokumen di sini.

command <<-word
here-document contents
word

word digunakan untuk membatasi dokumen di sini adalah sewenang-wenang, itu umum, tetapi tidak perlu, untuk menggunakan kata huruf besar.

- dalam <<-word memiliki efek bahwa tab akan dihapus dari awal setiap baris dalam konten dokumen di sini.

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
SERVICE_ANNOUNCEMENT

Jika dokumen di sini di atas ditulis dengan tab literal di awal setiap baris, itu akan menghasilkan output

hello
world

daripada

    hello
    world

Tab sebelum pembatas akhir juga dihilangkan dengan <<- (tetapi bukan tanpa - ):

cat <<-SERVICE_ANNOUNCEMENT
    hello
    world
    SERVICE_ANNOUNCEMENT

(keluaran yang sama)


Linux
  1. Apa itu NGINX? Bagaimana cara kerjanya?

  2. Apa itu Exec 3?

  3. Apa yang Bamfdaemon Lakukan?

  1. Apa yang poll() lakukan dengan batas waktu 0?

  2. Apa artinya 'cd -'?

  3. Apa yang dilakukan 'bash -c'?

  1. Apa Artinya “–” (tanda hubung ganda)?

  2. Apa sebenarnya yang dilakukan init?

  3. Apa yang dihasilkan pwd?