RHCE第五次作业

1.总结变量的类型及含义?

  • (1)局部变量(普通变量):只在某个特定范围生效的变量,比如只能在当前进程中使用的变量,只能在函数中使用的变量。

    在命令行设置:在当前进程生效

  • (2)全局变量(环境变量):可以在创建他们的shell及其派生出来的子进程中使用(su 切换用户的时候会读取新的环境变量)。

    自定义环境变量和bash内置的环境变量。

  • 位置参数预定义变量

 

2.实现课堂案例计算长方形面积?(6种方式)

#!/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"
 
 

 3.定义变量url=https://blog.youkuaiyun.com/weixin_45029822/article/details/103568815(通过多种方法实现)

(1)截取网站访问的协议
(2)截取网站访问账号信息

#!/bin/bash
 
url="https://blog.youkuaiyun.com/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"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值