欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux学习之路(五)--shell脚本

程序员文章站 2022-05-15 20:23:11
...

创建一个脚本文件并用vim打开

vim example.sh

 

写入脚本

1.申明执行脚本的解释器的位置,再此用bash解释器

#!/bin/bash

2.创建一个变量

variable为变量名,变量的值由双引号包括

variable="content"

 

3.使用用户在执行脚本时传入的参数

 

1).用户传入参数,系列命令向脚本传入了两个参数,参数之间有一个空格。

bash ./example.sh parameterone parametertwo

2).脚本中使用参数

 

第一个参数是文件名,即

./example.sh

$0

表示

依次类推,使用parameterone这个参数即是$1

例如编写一个脚本打印用户传入的第一个参数

#!/bin/bash
echo "$1"

相应的执行脚本的命令为

bash ./example.sh test

执行脚本后的截图

Linux学习之路(五)--shell脚本

 

 

 

 

 脚本中条件表达式与 && ||  ! 三种逻辑运算符的使用

 

1.条件表达式使用语法

[ content ]

注意:content左右必须有一个空格

表达式中的参数:

-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行

如判断当前目录是否存在example.sh文件

[ -e ./example.sh ]

该命令执行后不会打印任何消息,但有一个返回值,返回0表示真(存在),返回1表示假。

使用下列命令获取上一步执行表达式的返回值

echo  $?

截图:

Linux学习之路(五)--shell脚本

 

 

 

2.条件表达式中的整数比较运算符

 

参数:

-eq(equal)          是否等于
-ne(not equal)    是否不等于
-gt                      是否大于
-lt                       是否小于
-le                      是否等于或小于
-ge                     是否大于或等于

例如编写一个bigger.sh脚本判断用户传入脚本的两个参数谁大,输出大的值

#!/bin/bash
[ $1 -gt $2 ] && echo "the bigger number is $1"
[ $1 -gt $2 ] || echo "the bigger number is $2"

或连写逻辑运算符

#!/bin/bash
[ $1 -gt $2 ] && echo "the bigger number is $1" || echo "the bigger number is $2"

 

3.&&

 

使用方法:第一个命令 && 第二个命令

语法:当第一个命令执行成功或返回真,即零值时,执行第二个命令

例如判断当前目录是否存在example.sh文件,如果存在则输出exist,否则不执行任何操作

[ -e example.sh ] && echo "exist"

截图:

Linux学习之路(五)--shell脚本

 

 

4. ||

 

与 && 语义相反

如判断当前目录是否存在example.sh文件,如果不存在则输出none,否则不执行任何操作

[ -e example.sh ] || echo "none"

截图:

Linux学习之路(五)--shell脚本

 

 

5. !

 

 

更改普通脚本文件为可执行脚本文件

 

当要执行我们自己编写的脚本文件时,需要用bash命令,原因是自己创建的脚本文件默认无执行权限。linux 的终端中允许直接键入可执行文件的文件名来执行文件。

赋予example.sh文件可执行权限

chmod u+x example.sh

现在可以这样执行脚本文件了

./example.sh

 

相关标签: shell bash