命令应用
01,echo -n 不换行
echo -e 带转义符
\c 不换行
\n 换行加个回车
\e[33m \e[0m 换颜色
2,重定向
重定向输出 > 将结果输出到指定文件,覆盖
>> 将结果输出到指定文件,追加
2> 将错误结果输出到指定文件,覆盖
3>> 将错误结果输出 到指定文件,追加
&> 混合输出
&> /dev/null 垃圾箱
3,位置参数
$1 位置变量
$2
$3
4,运算
第一种
14,expr 运算
expr 1 + 1
expr 1 * 2
expr 2 / 3 取整数
expr 10 % 3 取余数
第二种
echo $[1+2] 运算
第三章
echo $((2+3)) 运算
这些基于整数的运算
可以调用bc进行运算
通常使用echo “2.2+3.3” | bc 进行运算
echo $[2**8] 2的8次方
在bc中使用 2^8
条件判断
1,字符判断
第一种
test a == b
test a != b
第二种
[ ab ]
第三种输出结果
[ ab ] $$ echo y || echo n
a=b 输出y 否则输出n
2,;表示分开执行
3,[ -z $a ] 检查字符串是否为空
[ -n $a ] 检查字符串为非空
4,数值大小比较
-eq 等于
-ne 不等于
-gt 大于
-lt小于
-le 小于等于
-ge 大于等于
5,文件测试
-d 测试是否为目录
-e 测试目录或文件是都存在
-f 测试是否是文件
-L 测试是否为连接文件
-b 设备文件
-c 字符设备文件
-r当前用户是否有读权限
-w 当前用户是否有写权限
-x 可执行
-s 测试存在且文件大小内容为空
6,-a 表示且
-o 表示或
7,用两个括号[[]]中可以使用表示且
if语句
1,单分支结构
if 条件测试操作
then 命令序列
fi
2,双分支结构
if 条件测试操作
then 命令序列
else
fi
3,多分支结构
if 条件测试操作
then 命令序列
elif 条件测试
then 命令
else
fi
实验
1,判断主机是否存活
2,判断输入的文件是不是个shell脚本
注意:单括号,绝对匹配
双括号可以,匹配存在
3,判断年份是不是润年
4,判断用户名是否存在,存在提示已存在,否则创建用户并设置密码
5,判断成绩是否及格
6,看服务是否安装,没有安装,就安装
7,判断数字大小
8,判断用户是否存在