useradd //创建一个用户
//用户的信息会写到/etc/passwd
//同时会生成此用户名命名的家目录 在/home 创建
从键盘读取用户输入的密码信息,验证输入的密码是否为123456
如果输入正确,显示密码正确,如果错误,显示密码错误。
# ssh ip地址
# vim passwd.sh
#!/bin/bash
read -p “请输入密码:” passwd
if test $passwd =“123456” //字符串建议用双引号
# if [ $passwd = “123456”] //用中括号测试语句
then
echo “passwd is ok ”
else
echo “密码输入错误”
fi
解决输入的密码信息和已有的信息做匹配的问题:
使用test测试:
文件属性测试
字符串测试
算数测试
命令格式:
test 测试语句
[测试语句] //括号两遍要有空格
文件属性测试
-e 文件存在为真
-t 文件存在为真且是一个常规文件
-d 文件存在为真且是一个目录
-c 文件存在为真且特殊字符为真
-b 文件存在为真且是一个特殊块
-g 文件存在且设置了sgid位为真
-u 文件存在且设置了ugid位为真
-r 文件存在且可读为真
-w 文件存在且可写为真
-x 文件存在且可执行为真
-s 文件存在且不为空为真
逻辑与和逻辑或:
&& 逻辑与
|| 逻辑或
true 为真
false 为假
true && false --> false (true)
当第一个条件为真时,返回第二个条件 false
true && true --> true (true)
false && false --> false (false)
当第一个条件为假时,返回第一个条件
//两者都为真(假),结果为真(假)
//有一个为假(真),结果为假(真)
字符串测试:
-z 为空为真
-n 不为空为真
= 相同为真
!= 不相同为真
> 字典排名在前为真
< 字典排名在后为真
if test -z $username
then
echo “请输入密码:”
else
执行密码不为空的语句
fi
算数测试操作:
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
单分支:
if 测试的语句或命令
then
执行语句1
fi
双分支:
if 测试的语句或命令
then
执行语句2
fi
多分支:
if 测试的语句或命令
then
执行语句1
elif
执行语句2
elif
执行语句3
else
执行语句4
fi