1、shell能做什么( Shell可以做任何事(一切取决于业务需求) )
自动化批量系统初始化程序
自动化批量软件部署程序
应用管理程序
日志分析处理程序
自动化备份恢复程序
自动化管理程序
自动化信息采集及监控程序
配合Zabbix信息采集
自动化扩容
2、获取当前支持的Shell
[root@cloud ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
[root@cloud ~]# chsh -l //当前系统所支持的shell
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
3、前后台作业控制
&:后台运行
nohup:正在运行一个进程,退出帐户时该进程不会结束
^C:终止
^Z:暂停
jobs:查看后台进行
bg %工作号:将一个在后台暂停的命令,变成继续执行
fg %工作号:将后台中的命令调至前台继续运行/
4、命令排序
; 无论前面是否执行成功,分号后的命令都会继续执行
&& 前面执行成功,后面的才继续执行
|| 前面命令不成功,后面的命令也会继续
5、shell通配符
* 匹配任意多个字符 ls in*
? 匹配任意一个字符 ll l?ve
[] 匹配括号中任意一个字符 [a-z]
() 在子shell中执行 (umask 077; touch file1000)
{} 集合 touch file{1..9}
\ 转义符,让元字符回归本意
6、编写脚本
创建bash脚本: 以.sh结尾的文件 .py结尾的文件是python的脚本
vim lixiu.sh
#!/bin/bash //指定命令解释器:第一行的专门解释命令解释器,注释 :以#开有的都不生效
执行脚本
bash .sh
sh qianfeng.sh
./qianfeng.sh //得加执行权限
7、脚本调试
sh –x script 这将执行该脚本并显示所有变量的值
sh –n script 不执行脚本只是检查语法模式,将返回所有错误语法
sh –v script 执行脚本前把脚本内容显示在屏幕上
8、
查看变量:echo $变量名
取消变量:unset 变量名
$?上一条命令的返回值