Linux--Ubuntu入门篇(shell脚本入门)

一、什么是shell脚本

我们已经能够熟练的在终端中输入命令来完成一些常用的操作,但是我们都是一条一条输入命令。这样会很麻烦,那么有没有一种方式可以将很多命令放大一个文件里面,然后直接运行在这个文件即可?肯定有,这个就是shell脚本!
shell脚本类似windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件。
shell脚本提供数组、循环、条件判断等功能。shell脚本一般是Linux运维或者系统管理员要掌握的,作为嵌入式开发人员,只需要掌握shell脚本最基础的部分即可

二、shell脚本写法

shell脚本是个纯文本文件,命令从上而下,一行一行的开始执行。shell脚本扩展名为.sh。shell脚本第一行一定要为
#!/bin/bash

表示使用bash

三、shell脚本语法

3.1、第一个shell脚本

vi my.sh
Linux--Ubuntu入门篇(shell脚本入门)
给权限: chmod 777 my.sh (一开始权限不能执行)
执行: ./my.sh

3.2、交互式shell脚本(有输入输出)

read
Linux--Ubuntu入门篇(shell脚本入门)

Linux--Ubuntu入门篇(shell脚本入门)

读取多个变量值:Linux--Ubuntu入门篇(shell脚本入门)

3.3、shell脚本的数值计算

shell仅支持整型,数值计算使用$((表达式))

(等于号= 中间不能有空格)
Linux--Ubuntu入门篇(shell脚本入门)
Linux--Ubuntu入门篇(shell脚本入门)

3.4、test命令

test命令用于查看文件是否存在、权限等信息,可以进行数值,字符,文件三方面的测试。

&&和 || 命令:
cmd1 && cmd2 当cmd1执行完毕并且正确,那么cmd2开始执行,如果cmd1执行完毕错误,那么cmd2不执行
cmd1 || cmd2 当cmd1执行完毕并正确,那么cmd2不执行,反之cmd2执行

test参数
-e 存在即为真

演示1: 查看文件是否存在
Linux--Ubuntu入门篇(shell脚本入门)

Linux--Ubuntu入门篇(shell脚本入门)

演示2: 查看字符串是否相等

Linux--Ubuntu入门篇(shell脚本入门)

Linux--Ubuntu入门篇(shell脚本入门)

3.5、中括号[ ] 判断夫

[ ] 里面只能输入 == 或 !=

(中括号两边要空开一个空格,且 两边不论是字符串还是变量都要加 “ ” )
Linux--Ubuntu入门篇(shell脚本入门)

3.6、默认变量

$0 ~ $n :表示shell脚本的参数,包括shell脚本命令本身,shell脚本命令本身为$0
$#: #表示最后一个参数的标号
[email protected]:表$1、$2、$3…

Linux--Ubuntu入门篇(shell脚本入门)

Linux--Ubuntu入门篇(shell脚本入门)