详解Linux bash中的变量
在Linux系统中进行日常运维或者是编写脚本时,变量是再熟悉不过的了,但这些变量都有哪些类型,具体的用法又有哪些差异呢?本文整理分享给大家:
一、bash变量类型:
本地变量
局部变量
环境变量
位置变量
特殊变量(内置)
二、本地变量:
varname=value:作用域为整个bash进程可以使用;
变量命名规范:
1. 只能含字母、数字和下划线,并且以字母和下划线开头
2. 最好不要跟系统已有的环境变量重名
3. 见名知意
三、局部变量:
local varname=value:作用域为当前代码段;
四、环境变量:
作用域为当前shell进程及其子进程,不能影响到其父进程;
export varname=value “导出”,如果变量已经定义可以只是用变量名 export varname,即
1. export varname=value
2. varname=value
export varname
脚本在执行命令时会启动一个子shell环境变量:
系统自动执行的脚本(非命令行启动)就需要自我定义需要的个环境变量;
五、位置变量:
$1,$2,$3,……
cat first.sh test.txt hello
$1: first.sh
$2: test.txt
$3: hello
shift:踢掉参数
shift n:踢掉n个参数,默认踢掉一个参数
六、特殊变量:
$?:上一个命令执行状态的返回值:
程序执行可能有两种返回值:
1. 程序执行结果
2. 程序状态返回吗(0-255)
0 则为执行正确
1-255 则执行出错(1,2,127系统预留);
$#:获取当前shell命令行中参数的总个数
$*:获取当前shell的所有参数 “$1 $2 $3 …,受IFS控制
$@:这个程序的所有参数 “$1″ “$2″ “$3″ “…”,不受IFS控制
$0 获取当前执行的shell脚本的文件名
$n 获取当前执行的shell脚本的第n个参数值,n=1..9
$$ 获取当前shell的进程号(PID)
$! 执行上一个指令的PID
建议继续学习:
- Bash的模式和配置文件加载 (阅读:23323)
- Bash脚本15分钟进阶教程 (阅读:7434)
- bash shell里反斜杠(backslash)和字符串原文输出(无转义) (阅读:6650)
- Bash 小技巧:给目录加上书签,快速切换目录 (阅读:6465)
- Bash如何取得当前正在执行的脚本的绝对路径? (阅读:4773)
- 【总结】美化bash,python的soap client,python获取系统编码函数 (阅读:4275)
- Axure之变量的使用 (阅读:4180)
- Bash Shell 快捷键 (阅读:3987)
- bash下利用trap捕捉信号量 (阅读:3791)
- 从shell中向awk传递变量实例 (阅读:3592)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:99527 来源: 运维派
- 标签: bash 变量
- 发布时间:2015-06-02 13:34:32
- [67] Oracle MTS模式下 进程地址与会话信
- [67] Go Reflect 性能
- [67] 如何拿下简短的域名
- [62] IOS安全–浅谈关于IOS加固的几种方法
- [59] 图书馆的世界纪录
- [59] 【社会化设计】自我(self)部分――欢迎区
- [59] android 开发入门
- [56] 视觉调整-设计师 vs. 逻辑
- [49] 给自己的字体课(一)——英文字体基础
- [47] 读书笔记-壹百度:百度十年千倍的29条法则