shell脚本

2018-05-09  本文已影响0人  张老三168

什么是shell脚本

Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,shell 和 shell script 是两个不同的概念,Shell 是一个用 C 语言编写的应用程序,它是用户使用 Linux 的桥梁。
用shell编写的shell脚本,文件后缀名为.sh

执行shell脚本的两种方式

#!/bin/bash
number=10;
echo $number;
image.png

Shell 变量

  1. 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
  2. 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
  3. shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
  1. 单引号
    单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的 引号字串中不能出现单引号(对单引号使用转义符后也不行)
  2. 双引号
    双引号里可以有变量 双引号里可以出现转义字符
  3. 拼接字符串
image.png
  1. 定义数组
    在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为 数组名=(值1 值2 ... 值n)
  2. 读取数组 读取数组元素值的一般格式是:${数组名[下标]}
  3. 获取数组的长度 获取数组长度的方法与获取字符串长度的方法相同


    image.png

Shell 基本运算符

Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用

运算符 说明
+ 减法
- 减法
* 乘法
/ 除法
% 取余
= 赋值
== 相等。用于比较两个数字,相同则返回 true
!= 不相等。用于比较两个数字,不相同则返回 true
image.png
运算符 说明
-eq 检测两个数是否相等,相等返回 true
-ne 检测两个数是否不相等,不相等返回 true
-gt 检测左边的数是否大于右边的,如果是,则返回 true
-lt 检测左边的数是否小于右边的,如果是,则返回 true
-ge 检测左边的数是否大于等于右边的,如果是,则返回 true
-le 检测左边的数是否小于等于右边的,如果是,则返回 true
image.png
运算符 说明
&& 逻辑的 AND
| | 逻辑的 OR
image.png
运算符 说明
= 检测两个字符串是否相等,相等返回 true
!= 检测两个字符串是否相等,不相等返回 true
-z 检测字符串长度是否为0,为0返回 true
-n 检测字符串长度是否为0,不为0返回 true
str 检测字符串是否为空,不为空返回 true

ehco和printf命令

image.png

Shell test 命令

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试

Shell 流程控制

Shell 函数

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)


image.png

Shell 输入/输出重定向

上一篇 下一篇

猜你喜欢

热点阅读