Linux shell:cat << EOF
Linux shell:cat << EOF
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)
大川搬砖