Shell变量详解

什么是变量?为什么要使用变量?

各种shell环境中都使用到了“变量”的概念,shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设置或系统环境的变化而相应的变化。通过使用变量,shell程序可以提供更加便捷灵活的功能,实用性和灵活性更强。

常见的shell变量类型包括自定义变量,环境变量,预定义变量,位置变量。

自定义变量

Bash中的变量操作相对比较简单,不像其他高级编程语言(如C语言,java语言)那么复杂,在定义一个新的变量的时候,一般不需要提前进行声明,而是直接指定变量名称,并赋给初始值即可。

格式:变量名=变量值

bobo说shell:shell变量详解(三)_shell

变量赋值的特殊操作:

1) 双引号 “”

如图所示,当赋值的内容包含空格时,必须以双引号括起来,其他情况可以省略

bobo说shell:shell变量详解(三)_shell变量_02

2) 单引号 ‘’

当赋值内容包含$,”,\等特殊符号时,应使用单引号括起来,(特殊字符当普通字符对待)。如果赋值内容包含单引号时,需要使用“\’”符号进行转义。

3) 反撇号 ``

主要用于命令替换,允许将执行的某个命令的屏幕输出结果赋值给变量。反撇号括起来的范围内必须能够执行命令行

bobo说shell:shell变量详解(三)_shell_03

4) 数值变量的运算

expr 变量1 运算符 变量2 [运算符 变量3]

+ 加法运算

- 减法运算

\*乘法运算

% 求模运算 相除后的余数

bobo说shell:shell变量详解(三)_shell变量_04

二:特殊的shell变量

1) 环境变量

bobo说shell:shell变量详解(三)_shell_05

2) 位置变量

位置变量又称位置参数,使用$1 $2$3````表示

例如 Ls –lh /etc ls为执行命令,-lh为第一个位置变量$1,/etc为第二个变量$2

bobo说shell:shell变量详解(三)_shell_06

3) 预定义变量

预定义变量是由bash程序预先定义好的一类特殊变量,用户只能使用而不能创建新的预定义变量,也不能直接为预定义变量赋值。常见预定义变量如下:

$# 表示命令行中位置参数的个数

$* 表示所有位置参数的内容

$? 表示前一条命令执行后的返回状态,返回为0表示执行正确,任何非0表示运行出现异常

$0 表示当前执行的脚本或程序名称

bobo说shell:shell变量详解(三)_shell变量_07


附:本人精心收录了一些学习视频资料,在淘宝店铺出售。

全网价格最低,视频最全,品质最优。欢迎各位学友光临。bobo说shell:shell变量详解(三)_shell变量_08

点击下面的图片进入对应的教程页面

bobo说shell:shell变量详解(三)_shell_09bobo说shell:shell变量详解(三)_shell_10

bobo说shell:shell变量详解(三)_shell_11bobo说shell:shell变量详解(三)_shell_12

bobo说shell:shell变量详解(三)_shell变量_13bobo说shell:shell变量详解(三)_shell_14