shell 中的变量,常用命令全解(1)【看完再也不怕看不懂脚本啦】
文章目录
shell定位
shell的定义:在计算机科学当中,shell就是一个命令解释器
一句话:shell就是在操作系统和应用程序之间的一个命令翻译工具。
shell中的变量
变量定位:变量包括两部分:变量名【不变的】= 变量值【可变的】
变量分类:
- 本地变量:手工方式定义的作用范围小的变量
- 全局变量:手工|默认方式定义作用范围大的变量
- 内置变量:bash命令中自带的一些参数变量
普通变量的定义:
- 变量名 = 变量值 #变量值必须是一个整体,没有特殊字符
- 变量名 = ‘变量值’ #我们看到什么样子,输出就是什么样子
- 变量名= “变量值” #先对变量名值进行解析,判断有没有指代的
习惯:数字不加引号,其他默认加双引号
命令变量:变量名= $(命令)
全局变量的定义:env 只显示全局变量。定义方法:export 变量=值(常用)
取消变量:unset 变量名
位置变量&特殊变量
#!/bin/bash# 获取指定位置的参数,位置变量echo "第一个位置变量是$1"echo "第一个位置变量是$2"echo "第一个位置变量是$3"echo "第一个位置变量是$4"echo "第一个位置变量是$5"echo "脚本的名称是$0" #获取文件名echo "一共有 $# 个位置变量"echo "所有位置变量是$@"echo "当前脚本传入的参数数量是: $#"
⏰
小任务
看懂vim /usr/sbin/service
这个脚本文件
变量截取
格式:${变量名:起始位置:截取长度}
示例:${file:0:5} 从第1个字符开始,截取5个字符${file:5:5} 从第6个字符开始,截取5个字符${file:0-6:3} 从倒数第6个字符开始,截取之后的3个字
默认值使用方法
场景一:
变量a如果有内容,那么就输出a的变量值
变量a如果没有内容,那么就输出默认的内容
格式:${变量名:-默认值}
套餐示例:如果我输入的参数为空,那么输出内容是 "您选择的套餐是: 套餐 A"如果我输入的参数为n,那么输出内容是 "您选择的套餐是: 套餐 n"#!/bin/bash# 套餐选择演示a="$1"echo "您选择的套餐是: 套餐 ${a:-A}"
场景二:
无论变量a是否有内容,都输出默认值
格式:${变量名+默认值}
场景示例:不管我说国家法定结婚年龄是 多少岁,都输出 国家法定结婚年龄(男性)是 22 岁#!/bin/bash# 默认值演示示例二a="$1"echo "国家法定结婚年龄(男性)是 ${a+22} 岁"
创作挑战赛
新人创作奖励来咯,坚持创作打卡瓜分现金大奖