1.总结变量的类型及含义?
2.实现课堂案例计算长方形面积?(6种方式)
3.定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815(通过多种方法实现)
1)截取网站访问的协议
2)截取网站访问账号信息
---------------------------------------------------------------------------------------------------------
1.总结变量的类型及含义?
-
(1)局部变量(普通变量):只在某个特定范围生效的变量,比如只能在当前进程中使用的变量,只能在函数中使用的变量。
在命令行设置:在当前进程生效
-
(2)全局变量(环境变量):可以在创建他们的shell及其派生出来的子进程中使用(su 切换用户的时候会读取新的环境变量)。
自定义环境变量和bash内置的环境变量。
-
位置参数预定义变量
-
#!/bin/bash # 方法1:直接使用变量计算 length=5 width=3 area=$((length * width)) echo "方法1:直接使用变量计算,面积为 $area" # 方法2:通过用户输入获取变量值 read -p "请输入长度:" length read -p "请输入宽度:" width area=$((length * width)) echo "方法2:通过用户输入获取变量值,面积为 $area" # 方法3:使用函数传参计算 calculate_area() { local l=$1 local w=$2 local result=$((l * w)) echo $result } length=5 width=3 area=$(calculate_area $length $width) echo "方法3:使用函数传参计算,面积为 $area" # 方法4:使用bc命令进行浮点数计算 length=5 width=3 area=$(echo "scale=2; $length * $width" | bc) echo "方法4:使用bc命令进行浮点数计算,面积为 $area"
#!/bin/bash url="https://blog.csdn.net/weixin_45029822/article/details/103568815" # 方法1:使用grep命令和正则表达式提取协议 protocol=$(echo "$url" | grep -o "^[^:]\+") echo "方法1:使用grep命令和正则表达式提取协议,协议为 $protocol" # 方法2:使用awk命令提取协议 protocol=$(echo "$url" | awk -F: '{print $1}') echo "方法2:使用awk命令提取协议,协议为 $protocol" # 方法3:使用sed命令提取协议 protocol=$(echo "$url" | sed -n 's/^\([^:]\+\):\/\/.*/\1/p') echo "方法3:使用sed命令提取协议,协议为 $protocol" # 方法4:使用正则表达式提取账号信息 account=$(echo "$url" | grep -o "//[^/]\+" | cut -c 3-) echo "方法4:使用正则表达式提取账号信息,账号信息为 $account" # 方法5:使用awk命令提取协议和账号信息 protocol_account=$(echo "$url" | awk -F: '{print $1}' | awk -F// '{print $2}') echo "方法5:使用awk命令提取协议和账号信息,协议和账号信息为 $protocol_account"
上面是用gpt查询的方法用于拓宽思路
echo ${url%:*}
# httpsexpr substr $url 1 5
# httpsecho $url | cut -nb 1-5
# https
echo $url | cut -d : -f 1
# httpsecho $url | cut -d / -f 4
# weixin_45029822expr substr $url 23 15
# weixin_45029822echo ${url:22:15}
# weixin_45029822tmp=${url#*net/}
echo ${tmp%%/*}
# weixin_45029822