我的《鸟哥的Linux私房菜》笔记(八)认识与学习 BASH——变量
来源:互联网 发布:淘宝发货前申请了退款 编辑:程序博客网 时间:2024/05/15 03:59
一、变量
为了区别于自定义变量,环境变量通常以大写字符来表示。例如 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)变量的测试与内容替换
以下展示了两种测试方法,此外还有很多其它的测试方法,可以查阅相关资料。
0 0
- 我的《鸟哥的Linux私房菜》笔记(八)认识与学习 BASH——变量
- 我的《鸟哥的Linux私房菜》笔记(九)认识与学习 BASH(二)
- 认识与学习bash------鸟哥的Linux私房菜
- 鸟哥的 Linux 私房菜第11章-认识与学习 BASH 学习笔记
- 【鸟哥的Linux私房菜】认识和学习BASH
- 鸟哥的Linux私房菜笔记6------11章认识和学习bash
- 转载:鸟哥的linux私房菜-认识与学习 BASH
- 鸟哥的Linux私房菜(基础篇)- 第十一章、认识与学习 BASH
- 鸟哥的Linux私房菜读书笔记-第11章-认识与学习bash
- 【鸟哥的linux私房菜-学习笔记】Bash shell的变量功能及操作环境
- 学习Linux 《鸟哥的Linux私房菜 基础学习篇(第三版)》--第10章 认识与学习Bash 笔记
- 鸟哥的Linux私房菜基础学习篇(第三版)之第十一章:认识与学习BASH
- 第32周-鸟哥的Linux私房菜基础篇第三版-第十一章 认识与学习BASH
- 鸟哥Linux私房菜(基础篇)——第十一章:认识与学习Bash
- 鸟哥的linux私房菜读书笔记--认识和学习bash
- 鸟哥的私房菜--第十一章:认识与学习bash
- 【鸟哥的linux私房菜-学习笔记】认识与分析登录文件
- 鸟哥的linux私房菜学习笔记《三十八》认识与分析日志文件
- 发现自己有点强迫症
- Dijkstra最短路径问题求解
- Linux修改IP方法总结
- Java方法的参数是按值传递的.
- wxpython仿写记事本
- 我的《鸟哥的Linux私房菜》笔记(八)认识与学习 BASH——变量
- 街区最短路径问题
- javascript闭包
- python:open/文件操作
- 七天学会NodeJS
- 单体模式Singleton
- MySQL中的commit和rollback
- 求助:快速排序哪里出问题了?
- const & define