このbash操作は何をしますか? [コピー]

このbash操作は何をしますか? [コピー]

私は最近bashで次のコマンドを見つけました。

cat > filename << EOF

<< EOFこの部分が理解できません。インターネット検索<<演算子で正規左シフト演算のみが見つかりました。それで遊んでも私にはどんな洞察も与えられませんでした。

どんな説明でもよろしくお願いします!

ベストアンサー1

説明はhere document次のとおりですman bash

   Here Documents

   This type of redirection instructs the shell to read input from
   the current source until a line containing only delimiter (with
   no trailing blanks) is seen.  All of the lines read up to that
   point are then used as the standard input for a command.

   The format of here-documents is:

          <<[-]word
                  here-document
          delimiter

   No parameter and variable expansion, command substitution,
   arithmetic expansion, or pathname expansion is performed on
   word.  If any characters in word are quoted, the delimiter is
   the result of quote removal on word, and the lines in the
   here-docu- ment are not expanded.  If word is unquoted, all
   lines of the here-document are subjected to parameter
   expansion, command substitution, and arithmetic expansion, the
   character sequence \<newline> is ignored, and \ must be used to
   quote the char- acters \, $, and `.

   If the redirection operator is <<-, then all leading tab
   characters are stripped from input lines and the line
   containing delimiter.  This allows here-documents within shell
   scripts to be indented in a natural fashion.

使用例:

$ cat > filename << EOF
> Write this line to filename
> And this line
> And this
> EOF 
$ cat filename
Write this line to filename 
And this line 
And this

おすすめ記事