一、准备工作
1、新建一个.sh 测试脚本并进入 进行编辑
输入命令: vi test.sh
2、进入编辑后,先输入一行命令:#!/bin/bash
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序
然后逻辑编写
二、shell脚本基本命令
1、输出
echo 空格 输出的内容
然后给脚本文件赋予执行的权限
执行
2、变量
定义变量:
注意事项:
1、变量名和等号之间不能有空格
2、命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
3、中间不能有空格,可以使用下划线 _
4、不能使用标点符号
5、不能使用bash里的关键字 (输入help命令查看)
使用变量:
在定义过的变量前加上$符号即可
便可在控制台输出
3、变量类型
字符串:
定义字符串时可以用单引号,也可以用双引号,也可以不用引号
单引号:
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
双引号:
1、双引号里可以有变量
2、双引号里可以出现转义字符
运算符:
= 检测两个字符串是否相等,相等返回 true
!= 检测两个字符串是否相等,不相等返回 true
-z 检测字符串长度是否为0,为0返回 true
-n 检测字符串长度是否不为 0,不为 0 返回 true
$ 检测字符串是否为空,不为空返回 true
数值型
算术运算符:
+,-,*,/ 对应了:加,减,乘,除
%,=,==,!= 对应了:取余,赋值,相等判断,不等判断
简单的加法求和:
结果为:30
加减乘除都可以按这个来做
注: 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr。
expr 是一款表达式计算工具,使用它能完成表达式的求值操作
数值型关系运算符:
-eq 检测两个数是否相等,相等返回 true
-ne 检测两个数是否不相等,不相等返回 true
-ge 检测左边的数是否大于右边的,如果是,则返回 true
-lt 检测左边的数是否小于右边的,如果是,则返回 true
-le 检测左边的数是否大于等于右边的,如果是,则返回 true
-gt 检测左边的数是否小于等于右边的,如果是,则返回 true
4、注释:
在语句头部 添加 #
5、shell的流程控制语句
if语句:
if [条件]then//逻辑代码内容fi //结束标志,不能丢掉
if-else语句:
if [条件]then//逻辑代码快else [条件]//逻辑代码快fi
if-esle-if语句:
if [条件]then//逻辑代码片elif [条件]then//逻辑代码片else [条件]//逻辑代码片fi
for循环:
for((条件))do//逻辑代码done //与前面的do相对应 不能丢掉
增强for遍历循环:
for a in n1,n2,n3....do//逻辑代码//echo \"输出: $a\"done
while循环:
a=1while [a -le 5]do//逻辑代码let \"a++\"done
case判断:
case 变量 in:值1)//逻辑代码;; //相当于break中断值2)逻辑代码;;*)//全部不满足时执行的语句esac
6、break和continue
break命令 :允许跳出所有循环(终止执行后面的所有循环)
continue命令:跳出当前循环,并执行下一轮循环
更详细的Linux教程
链接: https://www.runoob.com/linux/linux-tutorial.html.