Linux下shell编程学习笔记


shell变量

  本地变量

    readonly variable    //将变量variable设置为只读

    readonly -p    //列出当前制度变量

  环境变量

    定义:

      $HOME/.bash_profile

      /etc/profile

    export CHINAITLAB="SHENZHEN"   //定义一个环境变量

    env          //查看当前的环境变量

    echo $CHINAITLAB    //输出变量的值

    echo ${CHINAITLAB:+"We change the variable"}   //临时改变当前变量的值,前提是变量必须有值

    echo ${BIANLIANG:?"NO variable"}    //如果变量BIANLIAN有定义则显示变量的值,该变量没有定义则显示NO variable;这种书写格式主要用来检测变量是否存在

    echo ${TEST:-"bingo"}    //变量没有定义的话输入bingo,如果变量定义了则输出定义值,与上面类似

    echo ${GHOST:="bingo"}   //定义一个变量负值为bingo

    unset GHOST     //取消变量,如果设置为readonly则不能取消变量

  位置变量  //在运行脚本的时候同时将一个值按顺序附给相应的位置变量

    $0   //脚本的名字

    $1-$9  //位置参数,示例见script1.sh和script2.sh,运行./script1 a b c d e 将abcde按顺序负值给$1 $2 $3 $4  $5;运行script2.sh ifconfig将把ifconfig传递给位置变量$1,返回ifconfig文件的位置

  标准变量

    HOME

    IFS

    LOGNAME

    MAIL                   //当前用户的邮箱位置

    MAILCHECK             //每隔多少秒检查是否有新邮件

    MAILPATH            

    TERM                 //终端类型

    PATH             //执行命令时要查找的目录

    PS1     //[root@rhce ~]#的登陆样式由PS1定义

    PS2     //定义了>允许命令分行输入

    SHELL

    MANPATH          //获得帮助文件的位置

    TERMINFO        //终端信息

  特殊变量             //示例见script3.sh

    $#          //传递脚本参数的个数

    $*         //以单字符串显示所有向脚本传递的参数

    $$          //脚本当前运行的ID号

    $!          //后台运行的最后一个进程的ID号

    $@             //与$#相同,返回形式不一样

    $-               //与set命令功能相同

    $?             //显示命令退出的状态,0表示没有错误,其他任何值表示有错误

  • 1
  • 2
  • 3
  • 下一页
【内容导航】
第1页:shell变量 第2页:影响变量的命令
第3页:命令与符号

相关内容