day 5

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种方式)
# 练习题
L=20
W=10

echo $((L*W))

echo $[L*W]

# 变量接收
declare -i area=$L*$W
echo area

let area1=$L*$W
echo area1

# 直接输出
# expr (运算符隔开) 
expr $L \* $W

echo "$L*$W" | bc

awk 'BEGIN {L=10;W=20;print L*W}'

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

你可能感兴趣的:(bash,linux)