小白的shell之路
系统版本 Red Hat Enterprise Linux Server release 7.
【基础篇】
认识shell和基本运算符
1.什么是shell脚本:
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
2.查看本机现有解释器: cat /etc/shells 3.修改用户的shell解释器
useradd -s /bin/ksh zhangsan 【创建用户张三的时候指定登陆shell】 usermod -s /bin/ksh zhangsan 【修改已有用户张三的登陆shell】 4.查看历史命令: history vim /etc/profile 【进入配置文件】 HISTSIZE=1000 【可修改默认历史数量】 history -c 【清空历史命令】 5.历史命令的应用: ![序号] 【再次执行该序号的命令】 !cat 【再次执行最近以cat开头的命令】 6.重定向标准输入/输出/错误输出 > 将命令执行的正常输出重定向到文
>>:只收集前面命令的正确输出 2>:只收集前面命令的错误输出 &>:前面命令的正确与错误输出 >&2:将正确的输出结果变成错误的输出 运算符: 1.expr 【注:数字间有空格】
expr的常用运算符:
- 加法运算:+
- 减法运算:-
- 乘法运算:\*
- 除法运算:/
- 求摸(取余)运算:%
[root@server0 ~]
1
2.$[] [root@server0 ~]
15 [root@server0 ~]
[root@server0 ~]
[root@server0 ~]
50
3.let 【不显示结果】 [root@server0 ~]
[root@server0 ~]
[root@server0 ~]
[root@server0 ~]
12 简写运算: [root@server0 ~]
[root@server0 ~]
[root@server0 ~]
6 [root@server0 ~]
[root@server0 ~]
[root@server0 ~]
10 let x*=
5 【为x值晨乘
5】 let x/=
5 【为x值除以
5】 let x%=
5 【为x值取余】
4.bc 【计算器】
5+
5
10
5. 取小数点后x位 scale=x 取小数点后两位 [root@server0 ~]
.
20
6. 比较:test 或 [ 参数 = 参数 ] 【括号内一定要有空格】 [root@server0 ~]
[root@server0 ~]
0
7.判断空值 -z [root@server0 ~]
[root@server0 ~]
0 [root@server0 ~]
[root@server0 ~]
[root@server0 ~]
1
1.一行打多条命令 a && b 仅当a成功时,才执行b a
|| b 仅当a失败时,才执行b a ; b 执行a,执行b 示例: 创建用户登陆超过两个邮件报警
num=
`who | wc -l` [ $num -gt
2 ] && mail -s error root <
/root/mail 编辑邮件内容vim /root/mail
2.判断文件/目录的状态 -e 判断对象是否存在,存在即为真 -d 判断对象是否为目录,存在即为真 -f 判断对象是否为文件,存在即为真 -r 读 -w 写 -o 执行本 注:root对所有对象皆为真『脚本除外』 [Moring晨]
[Moring晨]
-rw-r--r--.
1 root root
81
4月
24
11
:
52 who.sh [Moring晨]
[Moring晨]
1 [判断] && 命令 存在即执行命令 [判断]
|| 命令 不存在即执行命令 ! 取反 比较整数大小【带g的都有大于二字,带e的都有等于二字,带l的都有小于二字】 -gt
:大于 -ge
:大于等于 -
eq: 等于 -
ne:不等于 -
lt:小于 -
le:小于等于 单分支
if 只能判断对 双分支
if 判断对和错 多分支
if 多次判断