您的位置:首页 > 运维架构 > Shell

我的《鸟哥的Linux私房菜》笔记(八)认识与学习 BASH——变量

2014-03-15 23:53 399 查看
一、变量

为了区别于自定义变量,环境变量通常以大写字符来表示。例如 PATH、HOME、MAIL 等。

(1)取用变量
可以用 echo 指令来取用变量,但变量名之前要加上 $ 符号,或者 ${变量名}。
例如: echo $PATH 或 echo ${PATH}

(2)设定变量
设定变量只需,变量名=变量值 。例如:myname=VBird
变量设定的规则:
①等号两边不能直接接空格符
②变量名只能由字母或数字组成,且开头第一个不能是数字
③变量内容若有空格,则可以用双引号【"】或单引号【'】括起来,双引号内的特殊字符如$ 可以保留其原本特性,但是,单引号内的特殊字符则仅作为一般字符。例如: var="lang is $LANG" 则 echo $var 可得 lang is en_US
④可以用跳脱字符【\】将特殊符号如(Enter、$、\、'、空格)变成一般字符
⑤在一串指令中,还需要籍由其它的指令提供的信息,可以使用反引号【`指令`】或【$(指令)】。例如,核心版本的设定: version=$(uname -r) 则 echo $version 可得 3.8.0-33-generic
⑥若该变量为扩增变量内容时,则可用"$变量名" 或 ${变量} 来累加内容,例如: PATH="$PATH":/home/bin
⑦若该变量需要在其它子程序中执行,则需要以export 来使变量变成环境变量,例如: export PATH
⑧取消变量的方法为使用 unset ,具体为 【unset 变量名】,例如,取消myname 的设定: unset myname

(3)列出所有的环境变量
查看所有环境变量 env
查看所有变量(含环境变量与自定义变量) set
自定义变量转成环境变量,如果想要让某变量内容继续在子程序中使用,那么就可以执行 【export 变量名】 ,另外,如果仅下达 export 而没有接变量时,那么此时会把所有的环境变量显示出来。

二、变量键盘读取及变量宣告

(1)读取键盘输入的变量 read





(2)宣告变量的类型 declare/typeset
如果使用declare 后面并没有接任何参数,那么 bash 就会主动将所有的变量名与内容统统叫出来,与使用set 一样。















(3)数组变量类型
数组的设定方式是: var[index]=content
例如: var[1]="my"
var[2]="name"
var[3]="is"
则读取可用 echo ${var[1]} 或 echo "${var[1]} ${var[2]} ${var[3]}"

三、变量内容的删除、取代与替换

(1)变量的删除





(2)变量的测试与内容替换
以下展示了两种测试方法,此外还有很多其它的测试方法,可以查阅相关资料。









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: