Shell免交互应用
Here Document
使用I/O重定向的方式将命令列表提供给交互程序
标准输入的一种代替品
语法格式:
命令 <<标记
...
...
标记
注意事项:
- 标记可以使用任意合法字符
- 结尾的标记一定要定格写,前面不能有任何字符
- 结尾的标记后面也不能有任何字符(包括空格)
- 开头标记前后的空格会被省略掉
Here Document免交互
通过read命令接收输入并打印
[root@server2 ~]# read a
abc
[root@server2 ~]# echo $a
abc
免交互脚本
#!/bin/bash
# read免交互
read z <<e
abc
e
echo $z
通过passwd给用户设置密码
[root@server2 ~]# useradd zhangsan 先创建用户,为设置密码
[root@server2 ~]# vim passwd.sh
#!/bin/bash
# 给用户设置密码
passwd zhangsan <<e
123456
123456
e
[root@server2 ~]# chmod +x passwd.sh
[root@server2 ~]# ./passwd.sh
Here Document变量设定
变量替换
[root@server2 ~]# vim file.sh
#!/bin/bash
# 查看内容重定向给一个文件
a=/root/a.txt
b=abc 变量可见
cat > $a << EOF
hello $b
EOF
[root@server2 ~]# chmod +x file.sh
[root@server2 ~]# ./file.sh
[root@server2 ~]# cat a.txt
变量设定