shell 变量和运算符
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-03
整理的不完善 有些粗略 望各位学者谅解!
-本地变量 -影响变量的命令 -环境变量 -引号 -变量替换 -运算符 -位置变量 -表达式替换 -标准shell变量 -运算符的优先级 -特殊变量 -变量: -什么是shell变量? -本地变量 -环境变量 -变量替换(显示变量) -位置变量 -标准变量 -特殊变量 -影响 变量的命令 -本地变量: -本地变量在用户现在的shell生命期的脚本中使用 -variable-name=value -set显示本地所有的变量 -readonly variable-name #LOCALTEST="test" #echo ${LOCALTEST} test #echo $LOCALTEST test #set 通过set查看变量 #exit 退出后查看一下还是否存在LOCALTEST变量 #readonly LOCALTEST #LOCALTEST="test" #readonly 查看当前shell有那些只读变量 #readonly -p -环境变量 -环境变量用于所有用户进程(经常称为子进程).登录进程称为父进程.shell中执行的用户进程均称为子进程.不像本地变量(只用于现在的shell)环境变量可用于所有子进程,这包括编辑器,脚本和应用. -$HOME/.bash_profile(/etc/profile) -export -env #cat /etc/profile #export Antiy="xi''an" #env 然后查找变量Antiy #export 也可以查看 #readonly Antiy 设置为只读 #export Antiy="xidian" 看是否可以修改,会提示不可以,只读了. -变量替换: -用变量的值替换它的名字. -echo -在变量名前加$,使用echo命令可以显示单个变量取值. #testvar="this is a test" #echo $testvar this is a test #echo ${testvar} 变量替换-续 ${Variable name} 显示实际值到variable name ${Variable name: value} 如果设置了variable name,则显示其值value,否则,为空! ${Variable name:?value} 如果未设置variable name,显示用户定义错误信息value! ${Variable name:-value} 如果未设置variable name, 则显示其值value ${Variable name:=value} 如果未设置variable name,设置其值,并显示 #echo ${testvar: "xidian"} xidian #echo ${testvar1: "xidian"} 为空 #echo ${testvar1:?"no defined"} bash:testvar1:no defined #echo ${testvar1:-"xidian"} #echo ${testvar:-"xidian"} xidian #echo ${testvar:="xidian"} this is a test #echo ${testvar2:="xidain"} xidian #echo $testvar2 xidian -变量清除: #echo $testvar this is a test #unset testvar #echo $testvar 空 #echo $testvar2 #readonly testvar2 #unset testvar2 -位置变量: -位置变量表示$0,$1,$2,... ...$9 -向脚本中使用位置参数 -向系统命令传递参数 example01: #!/bin/bash #parm01 echo "这是脚本的名称:$0" echo "这是脚本的第1个位置参数:$1" echo "这是脚本的第1个位置参数:$2" echo "这是脚本的第1个位置参数:$3" echo "这是脚本的第1个位置参数:$4" echo "这是脚本的第1个位置参数:$5" echo "这是脚本的第1个位置参数:$6" echo "这是脚本的第1个位置参数:$7" echo "这是脚本的第1个位置参数:$8" echo "这是脚本的第1个位置参数:$9" example02: #!/bin/bash #parm02 find /home/shell/ -name $1 -print -标准变量: -bash默认建立了一些标准环境变量,可在/etc/profile中定义. -EXINIT -HOME -IFS echo $IFS IFS='':'' -LOGNAME -MAILCHECK -MAILPATH -TERM -PATH -TZ -PS1 #set | grep "PS" PS1=''[u@h w]$ '' PS2=''>'' -PS2 -PWD -SHELL -MANPATH -TERMINFO -特殊变量: -$# :传递到脚本的参数个数 -$* :以一个单字符串显示所有向脚本传递的参数,与位置变量不同,此选项参数可超过9个. -$ :脚本运行的当前进程ID号 -$! :后台运行的一个进程的进程ID号 -$@ :与$*相同,但是使用时加引号,并在引号中返回每个参数 -$- :显示shell使用的当前选项,与set命令 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于shell 变量和运算符的所有评论