1.什么是shell脚本
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。 Shell是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
2.Shell变量
创建一个文件:文件名.sh 并且设置为有读写执行的权限
进入文件中开头必须为:#!bin/bash,然后,echo"你要写得内容",要输出的内容,保存退出。
# 定义变量
name="king"
# 使用变量${变量}或者使用$ 变量
echo "${name} 来自斯里兰卡"
3.Shell 传递参数
执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
./文件名.sh 参数值1,参数值2 ......把第一个参数值赋值到$0,以此类推输出你写得内容。
4.Shell 数组
数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)
语法格式如下:
数组=("值1",值2......)
${数组名[下标]}
5.基本运算符
1.算数运算符
2.关系运算符
3.布尔运算符
4.字符串运算符
5.文件测试运算符
两个数相加(注意使用的是反引号 *`* 而不是单引号 *'*)
表达式和运算符之间要有空格,2+2 是不对的,必须写成 2 + 2。
6.关系运算符
关系运算符只支持数字,不支持字符串,除非字符串的值是数字 。
7.布尔运算符
8.Shell 流程控制
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
ps -ef | grep -c "mysql"统计某个进程的个数