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