bash 中定义变量的规则

  1. 变量与变量内容以等号『=』来连结;
  2. 等号两边不能直接接空格符;
  3. 变量名称只能是英文字母与数字,但是数字不能是开头字符;
  4. 若有空格符可以使用双引号『 " 』或单引号『 ' 』来将变量内容结合起来,但须要特别留意,双引号内的特殊字符可以保有变量特性,但是单引号内的特殊字符则仅为一般字符;
  5. 必要时需要以跳脱字符『 \ 』来将特殊符号(如Enter,$, \, 空格符, '等)变成一般符号;
  6. 在一串指令中,还需要藉由其他的指令提供的信息,可以使用quote 『 ` command`』;(特别特别注意,那个 ` 是数字键 1 左边那个按键,而不是单引号!)
  7. 若该变量为扩增变量内容时,则需以双引号及 $变量名称如:『 "$PATH":/home』继续累加内容;
  8. 若该变量需要在其他子程序执行,则需要以 export 来使变量可以动作,如『exportPATH』;
  9. 通常大写字符为系统默认变量,自行设定变量可以使用小写字符,方便判断(纯粹依照使用者兴趣与嗜好);
  10. 取消变量的方法为:『unset变量名称』。

底下我们举几个例子来说明一下:一般变量设定:
[tets @testtest]# 12name=VBrid          <==错误的!因为变量开头不能是数字!
[test @testtest]# name = VBird                 <==错误的!因为等号两边不能直接接空白!
[test @testtest]# name=VBird                   <==正确的!echo $name 显示 VBird
[test @testtest]# name=VBird name          <==错误的!需要加上双引号!不然会显示错误!
[test @testtest]# name="VBird name"            <==正确的!echo $name 显示 VBird name
[test @testtest]# name="VBird's name"         <==正确的!

变量累加设定:
[test @testtest]# name=$nameisme        <==错误的!需要以双引号将原变量圈起来
[test @testtest]# name="$name"isme      <==正确的!echo $name 显示 VBird's nameisme
[test @testtest]# PATH="$PATH":/home/test      <==正确的!echo $PATH 将多了后面一句话!
[test @testtest]# PATH="$PATH:/home/test"      <==正确的!这个形式对于 PATH 来说也是正确的格式!

变量延伸到下一个子程序:
[test @testtest]# name="VBird's name"    <==设定 name 这个变量
[test @tsettest]# echo $name                <==显示 name 变量的指令
[test @testtest]# VBird's name
[test @testtest]# /bin/bash                 <==另开一个 bash 的子程序
[test @tsettest]# echo $name                <==显示 name 这个变量
[test @tsettest]#                       <==会显示空字符串因为 name 这个变量不能使用在子程序
[test @testtest]# exit                      <==退出子程序 bash shell !
[test @testtest]# export name               <==正确的!如此则 $name 可以用于下一个子程序中!

指令中的指令:
[test @testtest]# cd /lib/modules/`uname –r`/kernel
上式中,会先执行`uname –r` 这个内含指令,然后输出的结果附加在 /lib/module… 里面,所以执行这个指令,可以完成几个附指令程序!

取消变量设定:
[test @testtest]# unset name



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值