2007-06-25

变量与变量的设定

关键字: Linux 学习
        要显示一个变量的值,可以使用echo指令,而为了要分辨 是否为变量,Linux系统预设变量名称前会加一个$符号,所以使用命令:echo $variable 就可以查看自己想知道的变量值了。
范例:
echo    $PATH
echo   $HOME

       Linux系统中有多少环境变量,使用   env    指令就可以知道了。基本上,在Linux默认情况下,使用{大写字母}设定的变量一般都是系统的预设变量。
     
        env是enviroment的简写,这个指令主要用于读取当前系统的主要变量。但是我们还可以自己定义变量,因此,除了env这个读取环境变量的指令外,还有一个可以将当前系统中所有的变量数据都读出来的指令,这就是set指令。
      
        每个用户都有自己的变量,互不干扰。要想在登录时就设定好变量,必须将您的设定写入登入时加载的配置文件。

       变量的设定规则如下:
  1. 变量与变量内容以等号“=”链结;
  2. 等号两天不能直接接空格符
  3. 变量名称只能是英文字母与数字,其中数字不能是开头字符
  4. 若有空格符,可以使用双引号或者单引号将变量内容综合起来,但要特别留意,双引号内的特殊字符可以保留变量特性,单引号内的特殊字符则为一般字符
  5. 必要时以跳转字符"\"(如enter,$,\,空格符,'等)变成一般符号;
  6. 在一串指令中,还需要借助其他指令信息提供的信息,可以使用quote” ’command' “;
  7. 若该变量为扩增变量内容时,则需要以引号及$变量名称(如"$PATH":/home)继续累加内容;
  8. 若该变量需要在其他子程序执行,则以export使变量可以动作,如export PATH;
  9. 通常大写字符为系统预设变量,自定义变量可以使用小写字符,方便判断(纯粹依照用户兴趣与嗜好);
  10. 取消变量的方法为:unset 变量名称
        范例:
    一般变量设定:
    13name=vbird    //wrong
     name = vbird    //wrong
     name=vbird    //right
     name=vi bird    //wrong
     name="vi bird"    //right
     name="vi'bird”    //right
     name='vibird's name'    //wrong
     name=vbird\'s\     name    // right

    变量累加设定
    name=$nameisme   // right
    name="$name"isme  
// right
   
    PATH="$PATH":/home/test  
// right
    PATH="$PATH:/home/test"     // right          

    变量延伸到下一个子程序:
    name="vbird's    name"
    echo    $name
    //bin/bash    // 打开一个bash的子程序
    echo    $name    //  会显示空字符
   
    exit
    export name    //这样下一个bash子程序就可以使用该变量了
   
    指令中的指令:
    cd     /lib/modules/'uname -r'/kernel   
    //  该式中,会先执行’uname -r'这个内嵌的指令,然后输出结果附加在/lib/module...中,所以执行这个指令可以完成几个附指令程序
        
     单引号与双引号的区别?
      单引号与双引号的最大不同之处在于双引号可以保留变量的内容,但单引号内仅能是一般字符,而不会有特殊字符。例如:
     name=vbird
     echo $name
     vbird
     myname="$name is me"
     echo $myname
     vbird is me
     myanme='$name is me'
     echo $myname
     $name is me
      
       quote( ' )这个符号的意义
       在一串指令中,在 ' 之内的指令将会被首先执行,而其执行结果将会作为外部的输入信息。

       当开启一个bash的时候,就是启动了一个程序,但是当您再次执行bash,那么将进入子程序。进入子程序后,父程序的变量设定将不继续存在,如果想让改变量内容继续在子程序中使用,请执行:
          export   变量

        在引用他人的文件或者其他程序时,export相当重要,尤其在需要两三个文件互相需要引用时,如果忘记设定export,那么不同文件中的相同变量值将需要一再地的重复设定。所以,只要在头一个文件使用export,那么后续的文件引用该变量时,将会自动读取该变量内容。

          unset   变量   // 直接取消该变量
评论
发表评论

您还没有登录,请登录后发表评论

yanshiyi
搜索本博客
最近加入圈子
存档
最新评论