变量定义

Shell定义变量不需要$,等号两边不允许留空格

  1. #!/bin/bash
  2. my_name="God"

变量使用

使用$符号+变量名引用变量,如果和其他字符串拼接到一起,为了区分,会使用${}将变量名括起来

#!/bin/bash

my_name="God"

echo $my_name

echo "I am ${my_name}"

删除变量

#!/bin/bash

my_name="God"

unset my_name

变量命名

1、首字母必须为a-z或A-Z

2、中间不能有空格,可以使用下划线(_)。

3、不能使用标点符号。

4、不能使用bash里的关键字(可用help命令查看保留关键字)。

变量类型

局部变量:仅在当前shell程序中有效的变量,其他shell程序运行时不存在

如:在./test1.sh中定义了一个局部变量My_Dog,则该变量仅在./test.sh这个程序内有效,出了该程序则变量不存在

# test1.sh

#!/bin/bash

My_Dog="Tom"  [定义局部变量]

echo $My_Dog

环境变量:所有程序,包括shell启动程序都能访问的环境变量。用户可以用env命令查看环境变量列表

如:
image.png

使用环境变量

#!/bin/bash

echo $HOSTNAME

shell变量:shell程序的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

如:

# 获取当前shell命令行中参数的总个数

* 参数列表

$ 表示当前运行脚本的进程ID号

! 表示后台运行的一个进程的ID号

@ 参数列表

- 显示shell使用的当前选项,与set命令相同

? 显示最后命令运行的执行状态,0表示没有错误,其他任何值表示有错误

使用

#!/bin/bash

string="abcd"
# 输出字符串长度
echo ${#string} #输出 4