linux中环境和shell变量详解

本地变量:

       本地变量是用户现在的shell生命期的脚本使用,这个值只在当前的用户shell生命期有意义,如果在shell中启动另一个进程或退出,此值将无效,用户不能对其他的shell或者进程设置此变量有效。

       使用变量时,用“{ }”将变量括起来,可以防止shell误解变量值,但并非一定要使用“{ }”,若变量值包含了空格,则必须使用“ ”括起来。

显示变量:

      echo $变量名        //变量名的值里可以包含其它的变量,如A=“THE”, B=“H$A”, echo $B。

清除变量:

      unset  $变量名

测试变量是否已经设置:
       ${变量名:=值}    //如果是字符串要加 “”,若已设置或者初始化变量,则使用它,如果没有设置,则取新值。

设置只读变量:

        readonly   变量名

环境变量:

       环境变量用于所有用户进程(常称为子进程),登陆进程成为父进程,shell中执行的用户进程均为子进程,环境变量可以在命令行中设置,但用户注销时值将会丢失,最好在.profile文件中定义。系统管理员可能在/etc/profile文件中已经设置了一些环境变量,每次登陆时都将被初始化。

        传统上,所有环境变量应用于用户进程前,必须用export命令导出

  设置环境变量:

        variable_name=value; export variable_name

        或者 :

         variable_name=value;

         export   variable_name     

  嵌入shell变量:

        Brourne shell 有一些预留的环境变量名,这些变量名不能用作其他用途,通常在/etc/profile中建立这些嵌入的环境变量,但也不完全是嵌入shell变量列表:

       1、CDPATH :改变目录路径变量,保留一系列由冒号隔开的路径名。用于cd命令,如果设置了CDPATH,cd一个目录时,首先查找CDPATH,如果CDPATH中有这个目录,则此目录成为当前工作目录。

      例 :

            CDPATH=:/home/dave/bin : /usr/local/apps;    export    CDPATH

      如果要进入“/usr/local/apps”目录中,因为在CDPATH变量中已经设置这个路径,所以只要:

           cd  apps 即可进入“/usr/local/apps”目录中,不用再特地输入前面的“/usr/local”绝对路径。

       2、EXINIT :EXINIT变量保存使用vi编辑器时的初始化选项。

        例 :

             调用vi时,要显示行号,且在第10个空格加tab键。

             EXINIT='set nu tab=10';export EXINIT

             即设置完成,使用vi打一个文件,vi编辑器的初始状态如上所述。

       3、HOME :通常定位于passwd文件的倒数第2列,用于保存用户的自身文件。设置了HOME目录,可以cd命令进入它。

         例 :

             HOME=“/home/dave”;export HOME

             无论在哪个目录中,使用命令“cd ”,即可进入“/home/dave”中。

       4、IFS :用作shell指定的缺省域分隔符。原理上域分隔符可以是任意字符,但缺省通常为空格、新行或tab键。

             IFS在分隔符文件或变量中各域时很有用,即在查的内容中以哪部分内容为分隔,

         例:

             echo  $PATH    显示:/usr/local/bin:/usr/sbin:/usr/bin

             export  IFS=:

             echo  $PATH    显示:/usr/local/bin   /usr/sbin   /usr/bin

       5、LOGNAME:此变量保存登录名,应该为缺省设置。

       6、MAIL:MAIL变量保存邮箱路径名

       7、MAILCHECK:缺省为每60秒检查新邮件,但如果不想频繁检查,可以自己设置,如设置2分钟检查一次,

             MAILCHECK=120;export  MAILCHECK

       8、PATH:PATH变量保存进行命令或者脚本查找的目录顺序。

       9、PS1:缺省对超级用户#,其他为$。

       10、TERMINFO:终端初始化变量保存终端配置文件的位置。

       11、$? :返回状态值,成功为0,失败为1。

引号使用:

       引号分为:双引号、单引号、反引号、反斜线

       双引号 :

               双引号可引用除字符“$、`、\ ”外的任意字符或字符串。

       单引号:

               单引号与双引号类似,如果屏蔽了其特殊含义,会将引号里的所有字符,包括引号都作为一个字符串。例:

               GIRL='girl'

               echo "The  ' $GIRL'  did  well"

               显示:The ' girl ' did   well

        反引号:

               用于设置系统命令的输出到变量,shell将反引号中的内容作为一个系统命令,并执行其内容。例:

               echo    `date`      //输出显示时间

              显示 :Sun May 16 16:40:19 GMT 1999

              path=`pwd`         //将当前路径值赋给变量path

       反斜线:

               即屏蔽其特殊含义。例:

               echo   $$       

               显示: 288       //显示进程ID号

               echo   \$$

               显示: $$         //显示字符,屏蔽显示进程ID的特殊含义

   expr用法:

              expr命令一般用于整数值计算,但也可以用于字符串。

              expr  10 + 10         //显示 :20

              expr   10 \* 10     //显示100,对于乘法时,要使用“\”屏蔽掉“*”的特殊功能。

            expr 用于测试数字,例:

               expr    10 = 10      //显示:1

               expr     10 = 11     //显示:0

            expr 用于测试字符串,例:

               variable=hello;

               expr  $variable = "hello"     //显示:1

            expr可以返回其本身的退出状态,1为成功,0为失败

 

 

              

 

 

    

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值