Linux的Shell种类很多,
- Bourne Shell(/usr/bin/sh或/bin/sh)
- Bourne Again Shell(/bin/bash)
#!/bin/sh #-n的目的是接着这一行输入,不开新行 echo -n "login:" #读取变量name的输入值 read name echo -n "password:" read passwd if [ $name = haha -a $passwd = 123 ] then echo "the input is right!" else echo "input is wrong" fi
bash是linux标准的默认shell,完全兼容Bourne shell,也就是说用Bourne shell的脚本不加修改可以在bash中执行
sh是Bourne shell 这个是UNIX标准的默认shell,属于系统管理shell
上述脚本是其他人写的模拟登录练习
1、shell中语法要求 if开始 fi 结束
2、if的判断条件 if 和 [ ] 之间要有空格 [ ] 中首尾也要有空格 = 两边也都要有空格
3、-a的意思是与 -o是或 也可以使用 && ||
4、由于输入的都当作字符串,所以使用字符串的比较方式
字符串相等 == 和 = 一样 字符串不等 != 测试字符串长度是否为0 -z string 测试字符串长度是否不为0 -n string
附:整数的比较
相等 a -eq b 不等 a -ne b
大于 a -gt b 大于等于 a -ge b
小于 a -lt b 小于等于 a -le b