推广 热搜: LabVIEW  控制  自动化  电子  自动  软件  sci  机器视觉  编程  视觉 

linux shell环境和变量

   日期:2018-05-14     浏览:57    评论:0    
核心提示:一、Linux shell中的变量1. Linux shell中的变量大致可以分为:本地变量(局部变量)和环境变量。2. 设置变量格式:variant_name
 一、Linux shell中的变量
1. Linux shell中的变量大致可以分为:本地变量(局部变量)和环境变量。
2. 设置变量格式:variant_name=value 或 ${variant_name=value}
3. 变量设置时的不同模式
    variant_name=value    设置实际值到变量variant_name
    variant_name+value    如果设置了variant_name则重设其值
    variant_name:?value   判断variant_name是否已经设置,如果没有设置,则返回未定义用户错误信息
    variant_name?value    判断variant_name是否已经设置,如果没有设置,则返回系统错误信息
    variant_name:=value   如果未设置variant_name,则设置其值
    variant_name:-value    如果未设置variant_name,则设置其值,但是并不设置到variant_name,可以被替换
4. 显示变量: echo $variant_name 或 echo "$variant_name"
5. 清除变量: unset variant_name
6. 设置只读变量: readonly variant_name。直接使用readonly命令可以显示当前用户下的所有只读变量
 
7. 设置环境变量:环境变量通常都是大写,VARIANT_NAME=value; export VARIANT_NAME
8. 清除环境变量:unset VARIANT_NAME
9. 常用环境变量:
    CDPATH:    改变目录路径变量,保留一系列由冒号隔开的路径名,用于 cd命令。如果设置了CDPATH, cd一个目录时,首先查找CDPATH,如果CDPATH指明此目录,则此目录成为当前工作目录。
    EXINIT:保存使用 v i编辑器时的初始化选项。
    HOME:HOME目录,通常定位于passwd文件的倒数第 2列,用于保存用户自身文件
    IFS:IFS用作shell指定的缺省域分隔符
    LOGNAME:保存登录名
    MAIL:保存邮箱路径名
    MAILCHECK:缺省检查邮件时间间隔
    MAILPATH:如果有多个邮箱要用到 MAILPATH,此变量设置将覆盖 MAIL设置
    PATH:保存进行命令或脚本查找的目录顺序
    PS1:基本提示符包含shell提示符,缺省对超级用户为 #,其他为 $
    PS2:附属提示符,缺省为符号
    SHELL:缺省shell,通常在/etc/passwd中已设置
    TERMINFO:终端初始化变量保存终端配置文件的位置
    TERM:终端类型
    TZ:时区值
    EDITOR:设置默认编辑器
    PWD:当前目录路径名
    PAGER:翻页命令
    MANPATH:man命令的目录
    LPDEST或PRINTER:缺省打印机名
 
10. 当父进程要将变量导出到子进程时,需要使用export variant_name
11. shell脚本中,用$0表示脚本名字,$1-$9表示第一到第九个参数
12. shell中的特定变量:
    $#:传递到脚本的参数个数
    $*:以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个
    $$:脚本进程当前运行的ID号
    $!:后台运行的最后一个进程的ID号
    $@:与$#相同,但是使用时加引号,并在引号中返回每个参数
    $-:显示shell的当前选项,与set命令功能相似
    $?:显示最后命令的退出状态,0表示执行成功
 
 
二、脚本中引号的作用
1. 双引号:当需要在一个参数中传入包括元字符,空格等等可能会引起shell误会的字符时,需要使用双引号
2. 单引号:  单引号与双引号类似,不同的是shell会忽略任何引用值。换句话说,如果屏蔽了其特殊含义,会将引号里的所有字符,包括引号都作为一个字符串。
仔细体会下面各个例子的意义:
   A. var="abc"
        echo $var或echo "$var"         =>         abc
        echo ""$var""                          =>         abc
        echo "'$var'"                           =>         'abc'
        echo '$var'                              =>         $var
   B. var='abc'
        echo $var或echo "$var"          =>          abc
        echo '$var'                               =>          $var
        echo ""$var""                           =>          abc
        echo "'$var'"                            =>          'abc'
3. 反引号:  反引号用于设置系统命令的输出到变量。 shell将反引号中的内容作为一个系统命令,并执行其内容。使用这种方法可以替换输出为一个变量。反引号可以与引号结合使用。
   echo `date`                                  =>           Sun Mar 14 18:12:22 CST 2010
 
打赏
 
更多>同类编程
0相关评论

推荐图文
推荐编程
点击排行

网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报