1.总结变量的类型及含义?
变量类型:
1,自定义变量:
在当前的shell命令行界面设置的变量是局部变量
示例:
num=1
name=zhangsan
含义:仅在当前shell生效.
2,环境变量:
全局变量,通过export 导出后的局部变量是全局变量
示例:
export num=1
export name=zhangsan
含义:在所有shell中生效,但是重启ssh连接将会重置(即重新按照定义的变量文件加载)
3,位置变量:
即按照传入参数的位置信息,输出
示例:
cat a.sh
$1
$3
$6
bash a.sh 1,2,3,4,5,6
含义:
将传入的参数按照要求显示
4.预定义变量:
系统定义的变量,相当于内置的命令
示例:
$0 # 显示当前脚本文件名
$* # 全返
$@ # 单返
$# # 返回参数的个数
$$ # 当前进程的PID
$! # 上一个后台进程的
$? # 返回上一个命令的执行状态
含义:
便捷式对shell的操作.
# 相关操作
(1) 引用变量: $变量名 或者 ${变量名}
(2) 查看变量: echo $变量名 set env printenv
(3) 取消变量: unset 变量名
2.实现课堂案例计算长方形面积?(6种方式)
# Version: V1.0# Author: xx
# Email:xx@163.com
# 0rganization:http://www.xx.com/xx/# Created Time : 2023-05-21 20:11:17
# Description:
###########################
L=20 W=10
echo $((L*W))
echo $[L*W]
#变量接收
declare -i area=$L*$W
echo area
let areal=$L*$W echo areal
# 直接输出
# expr(运算符隔开) expr $L \* $W
echo "$L*$W" | bc
awk 'BEGIN {L=10;W=20;print L 编辑
3.定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815(通过多种方法实现)
echo ${url:0:5}
#1.变量字符串截取
echo ${url:0:5}
#2.变量切片
echo ${url8:*} # 从右往左,"#"从左往右
#3.expr # expr substr 字符串 起始位置 截取长度
expr substr $url 1 5
#4.cut命令的使用
echo $url / cut -nb 1-5 #字符截取
echo $url | cut :-f 1 #区域截取
#2)截取网站访问账号信息
#1.cut命令的使用
echo $url / cut -d -f4 # -f 选择区域四
#2.expr命令
expr substr $url 23 15 # 起始 长度
#3.变量切片
tmp=${url#*net/}
echo ${tmp%%/*} # 最长匹配