什么是shell脚本?
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
hello world入门
#!bin/bash
echo "内容"
执行脚本:
修改权限:
Shell 变量
#!/bin/bash
# echo表示输出语句
echo "hello world"
# 定义变量
name="张三"
# 使用变量${}
echo "nihao ${name} welcome to qy151"
Shell 传递参数
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
Shell 数组
数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。
与大部分编程语言类似,数组元素的下标由 0 开始。
Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:
基本运算符
Shell 和其他编程语言一样,支持多种运算符,包括:
-
算数运算符
-
关系运算符
-
布尔运算符
-
字符串运算符
-
文件测试运算符
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。
expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
例如,两个数相加(注意使用的是反引号 *`* 而不是单引号 *'*):
两点注意:
-
表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。
-
完整的表达式要被 包含,注意这个字符不是常用的单引号,在 Esc 键下边。
关系运算符
关系运算符只支持数字,不支持字符串,除非字符串的值是数字 .
布尔运算符
逻辑运算符
Shell 流程控制
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
ps -ef | grep -c "mysql"统计某个进程的个数