10、变量种类、赋值、脚本参数调用、bash配置文件、算术、数值字符对比

    变量类型
        数据存储格式、存储空间大小、参与运算各类
        强类型:定义时必须指定类型、参与运算必须符合类型要求
        弱类型:无须指定类型,默认均为字符型;参与运算会自动隐式类型转换,变量可未定义调用时为空
            bash为弱类型
            
    bash中的变量种类
        根据变量生效范围
            本地变量:生效范围为当前shell进程,对子shell父shell均无效
                pstree:查看进程树,可查是否有子shell
            环境变量:生效范围为当前shell及子shell进程
            局部变量:生效范围为当前shell进程中某代码片断(函数)
            位置变量:$1,$2...来表示,用于脚本调用脚本执行时所加的参数,例:./1.sh 参数1 参数2,脚本中用$1,$2调用
            特殊变量:bash内置变量,$?,$0(表示命令本身),$*,$@,$#

        set:显示系统中所有变量
        unset name:取消变量
            
        本地变量
            赋值:name='value'
                value:
                    直接字符串
                    变量引用:name="$name"
                    引用命令执行结果:name=`command`或name=$(command)
            引用:${name},{}可取消,当变量后面字符可以为变量名时需要{}
                "":弱引用,其中的变量引用会被替换为变量值
                '':强引用,其中的变量引用不会被替换为变量值,保持为字符串
        环境变量
            赋值:export name=value
                  declare -x name=value
                  export name:把以有本地变量赋值为环境变量
            显示所有环境变量
                export、env、printenv
            bash常用内建环境变量:PATH,SHELL,UID,HISTSIZE,HOME,PWD,OLD,HISTFILE,PS1
        位置变量
            $*:调用脚本的所有参数,当为一个字符串
            $@:调用脚本的所有参数,当为N个字符串
            $#:值为脚本参数的个数
            shift [n]:脚本中shift为一行表示删除第一个参数,shift n删除前n个参数
        
        变量命名法则
            不能使用程序中的保留字,例:if,for
            只能使用数字、字母及下划线,且不能以数字开头
            尽量不使用全大写字母、下划线开头
            见名知义
            
        只读变量
            readonly name:设置变量只读,不可改值,不可取消
            declare -r name:设置变量只读,不可改值,不可取消
            
    bash的配置文件
        全局配置
            /etc/profile:为交互式登录shell提供配置
                /etc/profile.d/*.sh:profile文件的补充
            /etc/bashrc:为非交互式登录shell提供配置
                profile和bashrc非和交互式可能会互相用一些公用配置
        个人配置
            ~/.bash_profile
            ~/.bashrc
        shell登录
            交互式登录
                直接通过终端输入账号密码登录
                使用su - username切换的用户
                    先读取/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc,重复的后面定义的命令生效
            非交互式登录
                su username切换的用户
                图形界面下打开的终端
                执行脚本
                    先读取~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh

        profile、profile.d/、.bashprofile三个文件作用:
            用于定义环境变量
            登录后运行命令或脚本
        bashrc、.bashrc作用
            定义命令别名
            定义本地变量
            登录后运行命令或脚本
            
    bash中的算术运算
        +,-,*,/,%(取余),**
        实现算术运算
            let 变量=算术表达式:let sum=3+4
            变量=$[算术表达式]:sum=$[3+4]
            变量=$((算术表达式)):sum=$((3+4))
            变量=$(expr 数 符号 数 ...):sum=$(expr 3 \* 4),*需要转义
        bash内建随机数生成器
            $RANDOM:1-32767,例:$[$RANDOM%100+1]生成1-100的随机数
        增强型赋值
            +=,-=,*=,/=,%=
                let sum+=1或let sum++:sum加1
                let sum-=1或let sum--:sum减1
                
    条件测试
        test 表达式
        [ 表达式 ]
        [[ 表达式 ]]
        bash测试类型
            数值测试表达式
                -gt:是否大于,[ 1 -gt 3 ]
                -ge:是否大于等于
                -eq:是否等于
                -ne:是否不等于
                -lt:是否小于
                -le:是否小于等于
            字符串测试表达式
                ==或=:是否等于,[ a = b ]
                >:是否大于
                <:是否小于
                !=:是否不等于
                =~:左侧字符是否能被右侧PATTERN匹配,必须用于[[]]中
                -z "变量":是否为空
                -n "变量":是否为不空
                    字符串比较最好有引号
            文件测试
            
    bash自定义退出状态码
        exit 数:自定义退出状态码
            注意:脚本中一但遇到exit命令,脚本会立即终止,退出码为exit参数
            
        
           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值