我的《鸟哥的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)变量的测试与内容替换
以下展示了两种测试方法,此外还有很多其它的测试方法,可以查阅相关资料。
为了区别于自定义变量,环境变量通常以大写字符来表示。例如 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)变量的测试与内容替换
以下展示了两种测试方法,此外还有很多其它的测试方法,可以查阅相关资料。
相关文章推荐
- 我的《鸟哥的Linux私房菜》笔记(九)认识与学习 BASH(二)
- 学习Linux 《鸟哥的Linux私房菜 基础学习篇(第三版)》--第10章 认识与学习Bash 笔记
- 鸟哥的 Linux 私房菜第11章-认识与学习 BASH 学习笔记
- liunx学习笔记之--认识与学习 BASH
- Linux学习笔记:bash的基础特性之变量
- Linux学习笔记--bash脚本编程之一变量、变量类型
- 【Linux学习笔记】24:Bash变量概述
- chapter11:认识与学习bash之(1)认识shell与shell的变量功能
- bash变量--学习笔记
- Linux 学习笔记 -- 第三部分 学习 shell 与 shell script -- 第11章 认识与学习 bash
- 【linux学习笔记】 bash学习之变量内容的删除、取代与替换
- Linux鸟哥私房菜学习笔记_第十一章 学习和认识BASH
- Linux学习笔记 认识bash这个shell
- 转载:鸟哥的linux私房菜-认识与学习 BASH
- bash变量的学习笔记
- 马哥linux学习笔记(bash变量配置)
- 认识、学习bash,环境变量问题
- 【学习笔记——Linux】认识与学习BASH
- [linux学习笔记]第2天:时间管理,命令帮助信息,文本查看,权限及用户管理,BASH和变量,脚本
- C#学习之路,学习笔记 2.5 +运算符 与 变量的格式化输出