首页 / 操作系统 / Linux / 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表示没有错误,其他任何值表示有错误