here document概述
1.使用i|o重定向的方式将命令提供给交互式程序
2.标准输入的一种替代品
3.语法格式
命令 << 标记
... #标记之间是传入内容
... 标记
here document使用注意事项
1.标记可以使用任意合法字符 EOF
2.结尾的标记一定要顶格写
3.结尾的标记后面也不能有任何字符
4.开头标记前后的空格会被省略掉
常用命令:免交互方式实现对行数的统计,将要统计的内容置于标记“EOF”之间,直接将内容传给 wc -l 来统计
wc -l <<EOF
>123
>456
>EOF
通过 read 命令接收输入并打印,输入值是两个 EOF 标记之间的部分,作为变量 i 的值
read i <<EOF
>Hello qiaodaer
>EOF
echo $i
通过 passwd 给用户设置密码
passwd lisi <<EOF
>000202 #这两行是输入的密码和确认密码
>000202
>EOF
通过重定向输入免交互方式把内容输入到hello.txt文件中
支持变量替换
- 在写入文件时会将变量替换成实际值,再结合cat命令完成写入
- 整体赋值给变量,然后通过echo命令将变量值打印出来
- 关闭变量替换功能,按照字符原本的样子输出,不做如何修改或替换
- 、
#整体赋值
#!/bin/bash
var="Great!This is nice day!"
i=home
myi=`cat <<EOF
Today is "$(date +%F)"
I am going $i
$var
EOF
`
echo "$myi"