sheel

资料来源: 尚硅谷

 

目录

 2-sheel脚本入门

3-变量

3-1自定义变量

3-2特殊变量

3-2-1 $n

3-2-2 $# 

 3-2-3 $* 和 $@

 3-2-4 $?

4-运算符

5-条件判断

基本语法

常用判断条件

(1)两个整数比较

 (2)按照文件权限进行判断

 (3)按照文件类型进行判断

 案例实操

6-流程控制

6-1 if判断

单分支

多分支

 案例

 6-2 case语句

基本语法

 案例

 6-3 for循环

6-3-1 基本语法1

 6-3-2 基本语法2

 6-3-3  比较$* 和 $@ 的区别

 6-4 while 循环

 7-read读取控制台输入

 8-函数

 8-3自定义函数


sheel_第1张图片

 2-sheel脚本入门

脚本以#!bin/bash 开头

3-变量

3-1自定义变量

sheel_第2张图片

sheel_第3张图片

 在bash中,变量默认类型为字符串类型,无法直接进行数值运算

c=1+2
echo $c
1+2

 sheel_第4张图片

 使用 export 可把变量提升为全局环境变量

export 变量名

3-2特殊变量

3-2-1 $n

sheel_第5张图片

3-2-2 $# 

sheel_第6张图片  sheel_第7张图片

 3-2-3 $* 和 $@

1)基本语法

$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)

$@ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)

sheel_第8张图片

 3-2-4 $?

基本语法

$? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一 个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明 上一个命令执行不正确了。)

 sheel_第9张图片

4-运算符

基本语法

$((运算式))

 $[运算式]

sheel_第10张图片

5-条件判断

基本语法

[ condition ](注意 condition 前后要有空格)

注意:条件非空即为 true,[ atguigu ]返回 true , [  ] 返回 false

常用判断条件

(1)两个整数比较

sheel_第11张图片

 (2)按照文件权限进行判断

sheel_第12张图片

 (3)按照文件类型进行判断

sheel_第13张图片

 案例实操

[atguigu@hadoop101 shells]$ [ 23 -ge 22 ] 
[atguigu@hadoop101 shells]$ echo $?
0


[atguigu@hadoop101 shells]$ [ -w helloworld.sh ] 
[atguigu@hadoop101 shells]$ echo $?
0


[atguigu@hadoop101 shells]$ [ -e /home/atguigu/cls.txt ] 
[atguigu@hadoop101 shells]$ echo $?
1


[atguigu@hadoop101 ~]$ [ atguigu ] && echo OK || echo notOK
OK 

[atguigu@hadoop101 shells]$ [ ] && echo OK || echo notOK
notOK

6-流程控制

6-1 if判断

注意事项:

① [ 条件判断式 ],中括号和条件判断式之间必须有空格

② if 后要有空格

单分支

sheel_第14张图片

多分支

sheel_第15张图片

 案例

sheel_第16张图片

 6-2 case语句

基本语法

sheel_第17张图片

 sheel_第18张图片

 案例

sheel_第19张图片

sheel_第20张图片

 6-3 for循环

6-3-1 基本语法1

sheel_第21张图片

 sheel_第22张图片

 6-3-2 基本语法2

 sheel_第23张图片

 sheel_第24张图片

 6-3-3  比较$* 和 $@ 的区别

$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号“”包含时, 都以$1 $2 …$n 的形式输出所有参数。

sheel_第25张图片

当它们被双引号“”包含时

$* 会将所有的参数作为一个整体,以“$1 $2 …$n”的形式输出所有参数;

$@ 会将各个参数分开,以“$1” “$2”…“$n”的形式输出所有参数。 

sheel_第26张图片

 6-4 while 循环

sheel_第27张图片

 sheel_第28张图片

 7-read读取控制台输入

 sheel_第29张图片

 sheel_第30张图片

 

 8-函数

sheel_第31张图片

 sheel_第32张图片

 8-3自定义函数

sheel_第33张图片

 sheel_第34张图片

 sheel_第35张图片

你可能感兴趣的:(shell)