bash 变量
1 环境变量
2 自定义变量
3 局部变量和全局变量
4 $开头的特殊变量
# 上一个命令的退出码,我们用来判断命令执行是否成功
lss
echo $? # > 0 表示执行失败, 0 表示成功
# $$为当前Shell的进程ID
echo $$
#$_ 上一个命令的最后一个参数
ls tmp_install
echo $_ # tmp_install脚本a.sh
5 declare / typeset
Tip
declare和typeset 等价
5.1 打印当前环境所有变量
5.2 申明为只读
5.3 申明为整型
5.4 声明变量为大/小写字母
5.5 申明为环境变量
5.6 显示当前环境的所有函数
6 字符串
6.1 拼接
6.2 长度
6.3 截取
Caution
- expr index 命令只能查找单个字符或字符串中的第一个字符,不能查找多个字符组成的子串
- 如果是子串,那会将子串里的每个字符全部找一遍, 然后显示最短的那个
- ==这里的索引是从1 开始的, 而${str:1} 是从0开始的==
str="hello world"
# 不是7 而是3? 这是因为它会将你的字串里的每个字符全部找一遍, 然后显示最短的那个
# w 是在 第7个位置, o在 5, 而l 是在3 最短
expr index "$str" "world" # 3
expr index "$str" "worle" # 2
# 我们应该这样使用这个
expr index "$str" "w" # 7
Tip
所以这个的用法 就不该整子串, 而是用来找单个字符的操作
6.4 替换
6.5 删除(替换为空)
6.6 大小写转换
7 数组
Tip
- 整型数组无需用
declare -a arr进行申明 - 关联数组必须要
declare -A arr进行申明
7.1 增
7.2 查
7.3 删
7.4 关联数组
Caution
需要bash 4.0 以上版本