shell编程--变量

声明:

本博客欢迎转发,但请保留原作者信息!

新浪微博:@孔令贤HW

博客地址:http://blog.csdn.net/lynn_kong

内容系本人学习、研究和总结,如有雷同,实属荣幸!


1、变量引用

用set命令可以查看所有的变量

unset var命令可以清除变量var,var相当于没有定义过

readonly var可以把var变为只读变量,定义之后不能对var进行任何更改。

对shell变量的引用方式很多,用这些方式可以方便的获取shell变量的值,变量值的长度,变量的一个字串,变量被部分替换后的值等等。shell变量常见引用方式如下:

shell编程--变量_第1张图片

shell编程--变量_第2张图片

shell编程--变量_第3张图片

2、数值变量

shell中默认把变量值当作字符串,例如:

age=22

age=${age}+1

echo ${age}

输出结果为22+1,而不是23,因为shell将其解释为字符串,而不是数学运算。

可以用let命令使其进行数学运算,例如:

let age=${age}+1

 

3、数组变量

数组的初始化:array=(1, 2, 3)

可以通过 ${array[$i]}来访问array中某个元素,${array[*]}或${array[@]}的返回值即数组的所有元素组成的串,${#array[*]} 的返回值即数组的元素个数

 

4、特殊变量

$0:当前脚本的文件名

$num:num为从1开始的数字,$1是第一个参数,$2是第二个参数,${10}是第十个参数

$#:传入脚本的参数的个数

$*:所有的位置参数(作为单个字符串)

$@:所有的位置参数(每个都作为独立的字符串)。

$?:当前shell进程中,上一个命令的返回值,如果上一个命令成功执行则$?的值为0,否则为其他非零值,常用做if语句条件

$$:当前shell进程的pid

$!:后台运行的最后一个进程的pid

$-:显示shell使用的当前选项

$_:之前命令的最后一个参数


你可能感兴趣的:(linux,变量,shell)