Shell变量详解
什么是变量?为什么要使用变量?
各种shell环境中都使用到了“变量”的概念,shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设置或系统环境的变化而相应的变化。通过使用变量,shell程序可以提供更加便捷灵活的功能,实用性和灵活性更强。
常见的shell变量类型包括自定义变量,环境变量,预定义变量,位置变量。
一自定义变量
Bash中的变量操作相对比较简单,不像其他高级编程语言(如C语言,java语言)那么复杂,在定义一个新的变量的时候,一般不需要提前进行声明,而是直接指定变量名称,并赋给初始值即可。
格式:变量名=变量值
变量赋值的特殊操作:
1) 双引号 “”
如图所示,当赋值的内容包含空格时,必须以双引号括起来,其他情况可以省略
2) 单引号 ‘’
当赋值内容包含$,”,\等特殊符号时,应使用单引号括起来,(特殊字符当普通字符对待)。如果赋值内容包含单引号时,需要使用“\’”符号进行转义。
3) 反撇号 ``
主要用于命令替换,允许将执行的某个命令的屏幕输出结果赋值给变量。反撇号括起来的范围内必须能够执行命令行
4) 数值变量的运算
expr 变量1 运算符 变量2 [运算符 变量3]
+ 加法运算
- 减法运算
\*乘法运算
% 求模运算 相除后的余数
二:特殊的shell变量
1) 环境变量
2) 位置变量
位置变量又称位置参数,使用$1 $2$3````表示
例如 Ls –lh /etc ls为执行命令,-lh为第一个位置变量$1,/etc为第二个变量$2
3) 预定义变量
预定义变量是由bash程序预先定义好的一类特殊变量,用户只能使用而不能创建新的预定义变量,也不能直接为预定义变量赋值。常见预定义变量如下:
$# 表示命令行中位置参数的个数
$* 表示所有位置参数的内容
$? 表示前一条命令执行后的返回状态,返回为0表示执行正确,任何非0表示运行出现异常
$0 表示当前执行的脚本或程序名称
点击下面的图片进入对应的教程页面