首先要了解:
< 符号,输入重定向,可以在后面需要跟文件名,这样让程序不再从键盘读取数据,而是从文件中读取数据。
mail -s test root < /opt/mail.txt
<< 符号也称Here Document,代表你需要的内容在这里,某指令导入字符串时使用,而无需文件
mail -s test root << EOF
hello
test mail~
EOF
使用read指令配合输入重定向可同时定义多个变量
read a b
abc xyz #同时为变量a赋值abc,变量b赋值xyz
read a b < abc.txt #利用abc.txt文档内容赋值,仅读取第一行
结合while循环批量读取数据并通过read命令给变量赋值
while read a b
do
echo $a $b
done < abc.txt #利用abc.txt文档内容赋值,读取所有行
根据文档内容,创建账户并同时配置密码
首先准备测试文档user.txt
研发部 |
zhangsan |
haha123 |
人事部 |
lisi |
xixi456 |
wangwu |
lele789 | |
销售部 |
zhaoliu |
kaka765 |
#!/bin/bash
while read name pass
do
[ -z $pass ] && continue #如果没有密码则不创建,那个是部门的名字的行
useradd $name
echo $pass | passwd --stdin $name
done < user.txt