变量
这一篇文档,我们来描述如何去定义以及使用变量。Shell 中的变量大致分为自定义变量、位置变量以及环境变量。将在下文中分别加以描述。
自定义变量
首先,来说一下变量命名的规则:
变量是由任何字母、数字和下划线组成的字符创,且不能以数字开头。
变量名称是严格区分大小写的,例如 Var1 和 var1 是不同的。
变量、等号、值中间不能出现任何空格。
变量如何定义和使用呢?
say='Hello World'
echo $say ## Output: Hello World
Shell 并不是一种十分严谨的脚本语言,不管你的变量类型是什么,对于 Shell 来说,都会作为字符串处理,比如下面这个例子:
num1=123
num2=456
echo $num1+$num2 ## 123+456
下面是一些错误的示例,在写脚本的过程中需要注意:
## 赋值语句等号的两边都不能有空格
count = 123 ## error
count= 123 ## error
count =123 ## error
## 变量名不能使用数字开头
1count=2 ## error
另外,单个变量中可以存储多个值,并且使用数字作为索引进行遍历或单个引用,我们称之为数组。定义和使用如下:
arr_var=(a b c d e f g)
echo $arr_var ## 输出第一个元素
echo ${arr_var[1]} ## 输出第二个元素,索引从 0 开始
echo ${arr_var[*]} ## 输出所有的元素: a b c d e f g
arr_var[3]=dd ## 对制定索引重新赋值
echo ${arr_var[3]} ## 输出重新赋值之后的值: dd
位置变量
什么是位置变量呢?当一条命令或脚本执行时,后面可能会有多个传递的参数,而我们可以使用 Shell 内建的这些变量来引用这些参数。
cat p.sh ## Output:
#!/bin/bash
echo $0
echo $1
sh p.sh p1 ## Output:
p.sh ## $0 表示第一个参数,即 Shell 文件名本身
Last modified: 04 August 2024