T4rk 发表于 2015-8-15 22:26:47

详解Linux bash中的变量

在Linux系统中进行日常运维或者是编写脚本时,变量是再熟悉不过的了,但这些变量都有哪些类型,具体的用法又有哪些差异呢?本文整理分享给大家:

0x1:bash变量类型

   本地变量

   局部变量

   环境变量

   位置变量

   特殊变量(内置)

0x2:本地变量

   varname=value:作用域为整个bash进程可以使用;

   变量命名规范:

   1. 只能含字母、数字和下划线,并且以字母和下划线开头

   2. 最好不要跟系统已有的环境变量重名

   3. 见名知意

0x3:局部变量

   local varname=value:作用域为当前代码段

0x4:环境变量

   作用域为当前shell进程及其子进程,不能影响到其父进程;

   export varname=value “导出”,如果变量已经定义可以只是用变量名 export varname,即

   1. export varname=value

   2. varname=value

   export varname

   脚本在执行命令时会启动一个子shell环境变量:

   系统自动执行的脚本(非命令行启动)就需要自我定义需要的个环境变量

0x5:位置变量

   $1,$2,$3,……

   cat first.sh test.txt hello

   $1: first.sh

   $2: test.txt

   $3: hello

   shift:踢掉参数

   shift n:踢掉n个参数,默认踢掉一个参数

0x6:特殊变量

   $?:上一个命令执行状态的返回值:

   程序执行可能有两种返回值:

   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

云游者 发表于 2015-8-16 09:40:11

学习学习技术,加油!

asion 发表于 2015-8-16 18:14:36

支持,看起来不错呢!

08-wh 发表于 2015-8-17 08:37:38

还是不错的哦,顶了

a136 发表于 2015-8-17 10:12:20

学习学习技术,加油!

a136 发表于 2015-8-17 13:23:33

感谢楼主的分享~

CHRIS 发表于 2015-8-19 00:06:14

支持,看起来不错呢!

ayang 发表于 2015-8-19 03:21:32

支持中国红客联盟(ihonker.org)

xiaoqqf4 发表于 2015-8-19 06:17:20

支持中国红客联盟(ihonker.org)

arctic 发表于 2015-8-19 11:53:08

学习学习技术,加油!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 详解Linux bash中的变量