目录
前言
实在不知道前言写什么。
一、Here Document
1、Here Document简介
使用 I/O 重定向的方式将命令列表提供给交互式程序或命令,比如 ftp、cat 或 read 命令。
HereDocument是标准输入的一种替代品,可以帮助脚本开发人员不必使用临时文件来构建输入信
息,而是直接就地生产出一个文件并用作命令的标准输入。
语法格式:
<<标记 (此处标记前面的空格可以被忽略)
…
内容
…
标记 (输入追加定向,结尾标记必须顶格写,它前面和后面不能有任何字符,包括空格)
特殊字符“<<”在标记和命令之前,这样做的目的是将命令块的输出重定向到程序或命令的
stdin。标记的选择要确保不会出现在其他地方,避免出现混淆;两个标记之间的内容被当做是一个
文件并用作“命令”的标准输入。另外 Here Document 也可以与非交互式程序和命令一起使用。
◆四点注意事项:
标记可以使用任意的合法字符;
结尾的标记一定要顶格写,前面不能有任何字符;
结尾的标记后面也不能有任何字符(包括空格);
开头的标记前后的空格会被省略。
2、Here Document应用
①、Here Document简单应用
[root@kang mytext]# cat <<eof #直接将输入得内容输出
> hello world
> eof
hello world
[root@kang mytext]# cat > ipadd.txt <<eof #将输入保存到文件,它会新建文件并保存
> 192.168.90.22
> 192.168.10.11
> eof
[root@kang mytext]# cat ipadd.txt
192.168.90.22
192.168.10.11
[root@kang mytext]# cat >> ipadd.txt <<eof #将输入内容追加并保存到文件
> 110.110.110.0
> eof
[root@kang mytext]# cat ipadd.txt
192.168.90.22
192.168.10.11
110.110.110.0
[root@kang mytext]#
②、Here Document写入文件的三种方式
[root@kang mytext]# cat >username.txt <<eof #进入免交互编辑文件方法一
……
[root@kang mytext]# cat <<eof >username.txt #进入免交互编辑文件方法二
……
[root@kang mytext]# tee username.txt <<eof #进入免交互编辑文件方法三
……
③、read命令赋值免交互和更改用户密码免交互
[root@kang mytext]# read a <<eof
> baidu.com
> eof
[root@kang mytext]# echo $a
baidu.com
[root@kang mytext]# passwd lisi <<eof
> 123456
> 123456
> eof
更改用户 lisi 的密码 。
新的 密码:无效的密码: 密码少于 8 个字符
重新输入新的 密码:p