变量定义
Shell定义变量不需要$,等号两边不允许留空格
#!/bin/bash
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命令查看环境变量列表
如:
使用环境变量
#!/bin/bash
echo $HOSTNAME
shell变量:shell程序的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
如:
# 获取当前shell命令行中参数的总个数
* 参数列表
$ 表示当前运行脚本的进程ID号
! 表示后台运行的一个进程的ID号
@ 参数列表
- 显示shell使用的当前选项,与set命令相同
? 显示最后命令运行的执行状态,0表示没有错误,其他任何值表示有错误
使用
#!/bin/bash
string="abcd"
# 输出字符串长度
echo ${#string} #输出 4