(一)变量
(1)变量的定义
##等号两边不能有空格
value=123
value="jing"
declare -i value=100
(3)变量的作用域
- 局部变量
- 需要使用local 定义
- 全局变量
例如:
#! /bin/bash
func()
{
echo "global v1 is $v1" #输出200全局变量
local v1=100 #局部变量只在函数内有效
echo local v1 is $v1 #输出100
}
vi=200
func
echo global v1 is $v1 #输出200
(3)系统变量
但对脚本进行传参时,参数的值存放在系统变量中。
- $* 以“参数1” ”参数2“ “参数3”….的形式返回
- $#
- $@ 以“参数1 参数2 参数3….” 的形式返回
- $num num是数字,代表第num个参数
- $? 前一个命令或者函数的状态码
- $$ 返回本进程的ID
(二)数组
(1)定义数组
- 直接定义
- arr[0]=”jing”
- arr[1]=”ti”
- declare
- declare -a arr
- 元素值集合
- arr=(v0 v1 v2 ….)
- 通过键值
- arr=([0]=”one” [1]=”two” ….)