(十二)Shell编程基础

一、Shell基础
1、Shell脚本语言是解释型语言
2、Shell脚本的本质:Shell命令的有序集合
3、作用:简短的表达复杂的操作,操作的对象一般是文件和目录,可以减轻工程管理人员的工作量
4、基本过程
①建立shell文件
②赋予shell文件执行权限
③执行shell文件

二、Shell变量及环境变量
1、shell允许用户建立变量存储数据,但不支持数据类型,将任何赋给变量的值都解释成一串字符
2、shell有如下四种变量:①用户自定义变量②位置变量(命令行参数)③预定义变量④环境变量
用户自定义变量:
①首字符必须为字母或下划线
②中间不能有空格,可以使用下划线
③不能使用其他标点符号
④通常使用全大写变量,方便识别
变量的调用:在变量前加$
Linux Shell / bash从右向左赋值
使用unset命令删除变量的赋值
位置变量
$0 与键入的命令行一样,包含脚本文件名
$1,$2,…$9 分别包含第一个到第九个命令行参数
$# 包含命令行参数的个数(不包含脚本文件名)
$@ 包含所有命令行参数
$? 包含前一个命令的退出状态(正常退出为0,反之为非0)
$* 包含所有命令行参数
$$ 包含正在执行进程的ID号
环境变量
PATH:shell搜索路径
export :设置新的环境变量(只在当前终端有效)
env:查看所有环境变量
双引号:如果字符串,字符串原样输出,如果$变量,就输出变量值
单引号:无论什么都原样输出
命令置换符:·输出命令·

三、Shell测试语句
shell程序与语句
①说明性语句
②功能性语句
③结构性语句
功能性语句
1、read:标准输入读入一行,并赋值给后面的变量,相当于scanf
读入第一个 赋给1 第二个给2 剩下给最后
如果执行read语句时标准输入无数据,则程序在此停留等候,直到数据来或被终止运行
read -p :表示输入的时候打印提示语句

2、expr 算数运算命令
主要用于进行简单的整数运算

3、test:可测试三种对象:字符串 整数 文件属性
字符串测试
s1=s2 测试两个字符串的内容是否完全一样

变量双引号可以不要

s1!=s2 测试两个字符串的内容是否有差异

-z s1 测试s1字符串长度是否为0

-n s1 :测试s1字符串长度是否不为0(无图)
另一种方式去写

整数测试
a -eq b : 测试a,b是否相等

a -ne b : 测试a,b是否不相等

a -gt b : 测试a是否大于b

a -ge b :测试a是否大于等于b

a -lt b 测试a是否小于b
a -le b 测试a是否小于等于b

文件测试


四、Shell控制语句

阶梯形式

嵌套形式

多路分支语句


五、shell函数
方式一:
function_name()
{
command1
.......
commandn
}

方式二:
function function_name()
{
command1
.......
commandn
}

以方式1调用,函数体内变量只能在函数体内使用。 value为函数的执行结果,即为echo的结果
以方式2调用,函数体内变量的作用域从定义到程序结束。$?获取的是函数的返回状态,如果有return则为return的返回值;如果没有return则为0或者1
声明局部变量的格式:
local variable_name = value
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值