登录
首页 嵌入式系统 嵌入式系统
回帖 发帖
正文

主题:嵌入式操作系统之:shell 变量和运算符

点击:1339 回复:0

嵌入式操作系统之:shell 变量和运算符
-本地变量  -影响变量的命令
    -环境变量  -引号
    -变量替换  -运算符
    -位置变量  -表达式替换
    -标准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
    -MAIL
    -MAILCHECK
    -MAILPATH
    -TERM
    -PATH
    -TZ
    -PS1
     #set | grep "PS"
     PS1='[\u@\h \w]\$ '
     PS2='>'
    -PS2
    -PWD
    -SHELL
    -MANPATH
    -TERMINFO
   -特殊变量:
    -$# :传递到脚本的参数个数
    -$* :以一个单字符串显示所有向脚本传递的参数,与位置变量不同,此选项参数可超过9个。
    -$$ :脚本运行的当前进程ID号
    -$! :后台运行的最后一个进程的进程ID号
    -$@ :与$*相同,但是使用时加引号,并在引号中返回每个参数
    -$- :显示shell使用的当前选项,与set命令功能相同
    -$? :显示最后命令的退出状态,0表示没有错误,其他任何值表明有错误
   #!/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"
   echo "显示参数个数:$#"
   echo "显示脚本全部参数:$*"
   echo "显示进程ID:$$"
   echo "显示前一命令运行后状态:$?"
   影响变量的命令:
    -declare
    -export
    -readonly
    -set
    -shift
    -typeset
    -unset
   引号、双引号、单引号、反引号、反斜杠
   运算符、运算符类型
更多详情请登陆:http://www.chinaeda.com
     中嵌学院——嵌入式培训专家
咨询电话:023-86076786  023-86622608
咨询QQ:  774846923
09-08-14 14:36

工控新闻

更多新闻资讯