Linux——linux shell脚本编程(概念、变量、语句)

Shell脚本概述

1、Shell脚本概述

Shell脚本是利用shell的功能所写的一个程序。这个程序是使用纯文本文件,将一些shell的语法与命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能。

2、Shell脚本编写流程

 执行方式

bash test.sh

source test.sh.

/test.sh

Shell脚本变量

1、变量介绍

变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。

变量可以通过变量名访问。在指令式语言中,变量通常是可变的。

2、变量的作用

用来存放系统和用户需要使用的特定参数(值)。

变量名:使用固定的名称,由系统预设或用户定义。

变量值:能够根据用户设置、系统环境的变化而变化。

3、变量的命名要求

 

4、变量的分类

 

在shell编程中通常使用全大写变量,方便识别

$ COUNT=1

变量的调用:在变量前加$

$ echo $COUNT

Linux Shell/bash从右向左赋值

$Y=y

$ X=$Y

$ echo $X

y

使用unset命令删除变量的赋值

$ Z=hello

$ echo $Z

hello

$ unset Z

$ echo $Z

5、用户自定义变量

用户自定义变量-取值

双引号:允许通过$符号引用其他变量值

弱引用,其中的变量引用会被替换为变量值

单引号:禁止引用其他变量值,$视为普通字符

强引用,其中的变量引用不会被替换为变量值,而保持源字符串

反撇号:命令替换,提取命令执行后的输出结果,``和$(…)作用相同

用户自定义变量-数组

echo $a:默认显示数组a的第一个元素

echo ${a[0]}:显示数组中第一个元素,以此类推

echo ${a[-1]}:显示数组中最后一个元素

echo ${a[*]} 和echo ${a[@]}:显示数组中所有元素

echo ${#a[@]}:显示数组中元素的个数

echo ${a[@]:起始元素id:元素个数]}:显示数组中以起始元素为首的指定个数的元素(注意:这里起始元素id不能为负值

unset a[n] 删除数组中的第n个元素

unset a 删除a这个数组

6、只读变量

变量值不允许修改(重新赋值)的情况

无法使用unset

删除最快方法重启

readonly

7、位置变量和预定义变量

$0与键入的命令行一样,包含脚本文件名

$1,$2,……$9 ${10} 分别包含第一个到第十个命令行参数

$#包含命令行参数的个数

$@包含所有命令行参数:“$1,$2,……$9”

$*包含所有命令行参数,是一个整体:“$1,$2,……$9”

$?包含前一个命令的退出状态

$$包含正在执行进程的ID号

8、环境变量

常用环境变量

$USER表示用户名称

$HOME表示用户的宿主目录

$LANG表示语言和字符集

$PWD表示当前所在工作目录

$PATH表示可执行用户程序的默认路径

export可以将变量指定为全局变量

Shell语句

1、Shell程序

 Shell 程序由零或多条shell语句构成。

shell语句包括三类:

说明性语句

功能性语句

结构性语句

2、说明性语句

以#号开始到该行结束,不被解释执行

注释行可以出现在程序中的任何位置,既可以单独占用一行,也可以接在执行语句的后面.以#号开始到所在行的行尾部分,都不被解释执行.

例如:

3、功能性语句

 test语句可测试三种对象:

字符串

整数

文件属性

每种测试对象都有若干测试操作符

 4、结构性语句

结构性语句主要根据程序的运行状态、输入数据、变量的取值、控制信号以及运行时间等因素来控制程序的运行流程。

主要包括:

条件测试语句(两路分支)

多路分支语句

循环语句

循环控制语句等

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值