bash中的变量

bash变量类型:
    环境变量
        本地变量(局部变量)
        位置变量
        特殊变量(内置)

本地变量:
    varname=value:作用域为整个bash进程可以使用;
        变量命名规范:
        1. 只能含字母、数字和下划线,并且以字母和下划线开头
        2. 最好不要跟系统已有的环境变量重名
        3. 见名知意

局部变量:
    local varname=value:作用域为当前代码段;

环境变量:作用域为当前shell进程及其子进程,不能影响到其父进程;
    export varname=value “导出”,如果变量已经定义可以只是用变量名 export varname,即
        1. export varname=value
        2. varname=value
            export varname
        脚本在执行命令时会启动一个子shell环境变量:
        系统自动执行的脚本(非命令行启动)就需要自我定义需要的个环境变量;


位置变量:
    $1,$2,$3,……
                cat first.sh test.txt hello
                $1: first.sh
                $2: test.txt
                $3: hello
        shift:踢掉参数
                shift n:踢掉n个参数,默认踢掉一个参数


特殊变量:
     $?:上一个命令执行状态的返回值:
   
                程序执行可能有两种返回值:
                        1. 程序执行结果
                        2. 程序状态返回吗(0-255)
                                0         则为执行正确
                                1-255  则执行出错(1,2,127系统预留);

        $#:获取当前shell命令行中参数的总个数
        $*:获取当前shell的所有参数 “$1 $2 $3 …,受IFS控制
        $@:这个程序的所有参数 “$1″ “$2″ “$3″ “…”,不受IFS控制
        $0  获取当前执行的shell脚本的文件名
        $n  获取当前执行的shell脚本的第n个参数值,n=1..9
        $$  获取当前shell的进程号(PID)
        $!  执行上一个指令的PID




    bash:

引用变量:${varname},括号可以省略


撤销变量:
    unset varname

查看当前shell中的变量:
    set
        包括环境变量和本地变量

查看当前shell中的环境变量:
        1. printenv
        2. env
        3. export
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值