【shell】shell脚本基础1

主要内容介绍

shell变量、注释、传参、基本运算、流程控制、函数。笔者采用centos系统默认使用的shell:BASH,进行学习介绍。

BASH特点

1.记录历史命令。保存在home目录的.bash_history文件中,只有退出当前shell时,历史命名才保存在.bash_history文件中。正常使用时,输入history,可以显示查看最近使用过的命令。

2.指令和文件名补全。使用tab键补全

3.别名(alias)。使用目的,把一个特别长经常使用指令用别名的方式简化代替。如果不想用,unalias接触别名功能。语法,alias[命名别名]=[‘具体的命令’]。
(了解,没具体使用。如图,系统使用的别名有)
在这里插入图片描述

4.通配符。用*匹配零个字符或多个字符,?匹配一个字符。

5.输入输出重定向

6.管道符

7.作业控制。当一个程序运行,暂停(Ctrl+Z),fg命令恢复,bg命名转到后台运行;终止程序运行(Ctrl+C)。

脚本定义

创建文件xx.sh,文件内容如图
解释:
1.“#!”脚本约定标记,告诉系统这个脚本用什么解释器来执行,使用哪种Shell。
2.“echo”,向窗口输出文本

在这里插入图片描述要执行该脚本内容需要给该文件(xx.sh)授权执行权限
命令:chmod +x xx.sh
授权后执行脚本生效
命名:./xx.sh
效果如图:
在这里插入图片描述

Shell变量

变量的使用和定义。
a)变量名和等号间不能用等号,
b)首字母必须为字母(a-z,A-Z)
c)中间不能有空格,可以是下划线
d)不能使用标点符号
c)不能使用关键字

1.定义变量
如变量myString:
在这里插入图片描述
输出效果:
在这里插入图片描述

2.删除变量
unset myString 删除变量名myString
如图执行输出
在这里插入图片描述输出效果:
在这里插入图片描述3.只读变量
readonly 变量名
如定义了变量myString,设置只读属性:
在这里插入图片描述
依次执行输出效果:
在这里插入图片描述
4.变量类型
脚本运行时会有3种变量
a)局部变量。变量在脚本或命令中定义,仅在当前shell实例中生效
b)环境变量。所有程序,包括shell启动的程序,都能访问环境变量
c)shell变量。shell设置的特殊变量。

5.常用数据类型
a)字符串
b)shell数组
定义数组的2种方式
在这里插入图片描述
输出效果一致:
在这里插入图片描述
解释:
${arry_name[@]} 数组变量引用,代表显示数组全部元素;
${arry_name [ n] } 表示数组第"n+1"个元素,计数从0开始算,故+1
${#arry_name[@]}表示显示整个数组长度,注意和字符串长度区分(如下图,字符串长度标点空格也会算在其中)

在这里插入图片描述

shell注释

存在2种方式注释
1.单行注释,以“#”开头就是注释
2.段落注释(如图)
在这里插入图片描述
大段注释掉输出效果:
在这里插入图片描述

shell传递参数

执行某些shell脚本时,需要向脚本传入参数。因此脚本内获取参数的格式。和常用参数如下

常用$参数:

参数处理说明
$#传递到脚本的参数个数
$*以单字符显示所有向脚本传递的参数,使用时"[$*]"
$!后台运行的最后一个进程的ID
$@每个参数显示一个字符,输出所有参数
$$脚本运行的当前进程ID
$?显示最后命令退出的状态,0标识没有错误
$0表示文件名
$n表示传递的第n个参数
$-显示当前shell使用的选项,与set命名功能相同

举例
在这里插入图片描述

执行结果:
在这里插入图片描述

下一篇:基本运算符、流程控制、函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值