Linux shell:cat << EOF

发布时间 2023-07-10 09:32:40作者: 往事已成昨天

Linux shell:cat << EOF

大川搬砖 2023-07-05 12:01 发表于北京

1. 用途

从标准输入(stdin) 读取一段文本,遇到 "EOF" 就停止读取,然后将文本输出到标准输出(stdout) 中。

2. 语法

cat << EOF
文本信息
EOF

关键语法说明:

<<:Linux 中的 Here Document 格式语法开始标识符;

EOF:一个标识符,标识文本信息的开始和结束,可以是任意自定义字符,比如 begin,data 等

文本信息:用户(你)想要显示在终端的内容。

3. '<< EOF' 和 '<<- EOF' 区别

If the redirection operator is <<-, then all leading tab characters are stripped from input lines and the line containing delimiter.  

说人话就是,如果重定向操作符是 <<-,那么就忽略每行文本信息和结束标识符(比如上面的 EOF)中的前导制表符(tab)

#!/bin/sh

#line 1、2、3,EOF,data 1、2、3 前面为 tab,不是空格。
cat <<- EOF
        line 1
        line 2
        line 3
        EOF

cat << DATA
        data 1
        data 2
        data 3
DATA

执行结果:

图片

你看,使用 '<<- ' 输出的内容会忽略每行前面的 tab

4. 延伸

如果想从终端中输入多行文本到文件中,应当如何做呢?

cat > file << EOF
information 1
information 1
information 1
...
EOF

图片


收录于合集 #linux
 14
上一篇xilinx:R5→TCM→PL(A53)
阅读 662
大川搬砖
100篇原创内容