Shell_脚本(上)

一、Shell 脚本入门

1、脚本格式

脚本以 #!/bin/bash 开头(以#! 开头,/bin/bash指定解析器)

2、HelloWord实例

创建文件夹datas和文件helloworld.sh,并编辑

在文件中输入以下内容:

执行脚本:

1)第一种:采用bash或sh +脚本的相对路径或绝对路径(不用赋予脚本+x权限)

2)采用输入脚本的相对路径或绝对路径执行脚本(必须具有可执行的+x权限)

注意第一种方法本质上是bash解析器帮你执行脚本,所以脚本本身不需要执行权限。第二种方法,本质上是脚本需要自己执行,所以需要执行权限

3、第二个Shell脚本:多命令处理

添加如下内容,在/asus/home/目录下新建文件然后写入内容

执行脚本

二、Shell中的变量

1、系统变量

常用的系统变量有

$HOME(家目录)、$PWD(当前目录)、$SHELL(解析器)、$USER(当前用户)等

2、自定义变量

1)、基本语法

① 定义变量:变量=值

② 撤销变量:unset 变量

③ 声明静态变量:readonly 变量,注意:不能unset

2)、定义变量规则

① 变量名称可以由字母、数字、下划线组成,但是不能以数字开头,环境变量名建议大写

② 等号两侧不能有空格

③ 在bash中,变量的默认类型都是字符串类型,无法直接进行数值运算。

④ 变量的值如果有空格,需要使用双引号或者单引号括起来。

3)、实例:

静态变量不能unset

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

如果变量的值有空格,需要使用双引号或单引号括起来

4)、将变量提升为全局环境变量,可以供其他Shell程序使用

export  变量名

在helloworld.sh中加入如下内容:

运行发现并没有打印 $B 对应的值

3、特殊变量

1)

$n:n为数字,$0代表该脚本名称,$1~$9代表第一个到第九个参数,十以上的参数需要用大括号包含,如${10}

实例:

一共四个参数

运行:

2)

$#:获取所有输入参数的个数,常用于循环

实例:添加 echo $#

 运行:

3)

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

$@:这个变量代表命令行中的所有参数,不过$@把每个参数区分对待

实例:

执行:

4)

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

实例:

判断helloworld.sh是否正确执行

三、运算符

1、语法

① $((运算式)) 或 $[运算式]

② expr +,-,\*,/,%   加,减,乘,除,取余

注意:expr运算符间要有空格

2、实例

1)3+2

2)(2+3)*4

采用expr一步完成计算

采用 $[运算式] 方式

四、条件判断

1、语法

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

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

2、常用判断条件

1)两个整数之间的比较

= 字符串比较

-lt 小于(less than)                     -le 小于等于(less equal)

-eq 等于(equal)                         -gt 大于(greater than)

-ge 大于等于(greater equal)    -ne 不等于(Not equal)

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

-r 有读的权限(read)                 -w 有写的权限(write)

-x 有执行的权限(execute)

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

-f 文件存在并且是一个常规的文件(file)

-e 文件存在(executence)  -d 文件存在并是一个目录(directory)

3、实例

1)23是否大于等于22

2)helloworld.sh是否具有写的权限

3)home/asus/good.txt目录中的文件是否存在

4)多条件判断(&&表示前一条命令执行成功时,才执行后一条命令,||表示上一条命令执行失败后,才执行下一条命令)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值