RHCE 第五次作业

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种方式)

[root@localhost dmll]# vim s.sh
    #!/bin/bash
    c=3
    k=2
    s1=$((c*k))
    echo s1=$s1 
    s2=$[c*k]
    echo s2=$s2
    declare -i s3=$c*$k
    echo s3=$s3
    s4=`expr $c \* $k`
    echo s4=$s4
    s5=`echo $c*$k | bc`
    echo s5=$s5
    awk 'BEGIN{ c=3;k=2;print"s6=",c*k }'
    let s7=$c*$k
    echo s7=$s7

[root@localhost dmll]# bash s.sh
    s1=6
    s2=6
    s3=6
    s4=6
    s5=6
    s6=6
    s7=6
#问题2                                
[root@localhost dmll]# vim url.sh
    #!/bin/bash
    #截取网站协议 截取网站访问账号信息
    url=https://blog.csdn.net/weixin_45029822/article/details/103568815
    echo ${url##*/}
    echo ${url%%:*}
    echo ${url:0:5}
[root@localhost dmll]# bash url.sh 
    103568815
    https
    https

3.定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815(通过多种方法实现)
1)截取网站访问的协议
1.变量字符串截取
echo ${url:0:5}
# https

2.变量切片
echo ${url%:*}    # 从右往左 , " # "从左往右
# https

3.expr    # expr substr 字符串 起始位置 截取长度
expr substr $url 1 5
# https

4.cut命令的使用
echo $url | cut -nb 1-5     #字符截取
# https
echo $url | cut -d : -f 1    #区域截取
# https

2)截取网站访问账号信息
1.cut命令的使用
echo $url | cut -d / -f 4    # -f 选择区域四
# weixin_45029822

2.expr命令
expr substr $url 23 15    # 起始 长度
# weixin_45029822

3.变量切片
tmp=${url#*net/} 
echo ${tmp%%/*}        # 最长匹配
# weixin_45029822

4.变量字符串截取
echo ${url:22:15}    # {变量:起始:长度}
# weixin_45029822

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值