点击👆:Linux技术宅,关注我!!!
1. 定义数组
array_name=(value1 value2 value3 ...)
或者,你也可以逐个为数组元素赋值:
array_name[0]="value1"array_name[1]="value2"array_name[2]="value3"
2. 读取数组元素
使用索引来读取数组中的值:
echo ${array_name[0]} # 输出 "value1"
3. 读取整个数组
使用@或*作为索引来读取整个数组:
echo ${array_name[@]} # 输出 "value1 value2 value3 ..."
4. 获取数组长度
使用#来获取数组的长度(即元素的数量):
length=${#array_name[@]}echo $length # 输出 3
5. 遍历数组
使用for循环来遍历数组:
for element in "${array_name[@]}"; doecho $elementdone
6. 数组切片
Bash 4.3+ 版本支持数组切片:
echo ${array_name[@]:1:2} # 输出 "value2 value3",从索引1开始,取2个元素
7. 删除数组元素
Bash没有直接删除数组元素的命令,但可以通过重新分配数组来“删除”元素,或者将元素设置为空字符串或 null 。但请注意,这不会更改数组的长度。如果需要删除元素并减少数组的长度,可能需要创建一个新的数组并只包含想要的元素。
8. 关联数组(Bash 4.0+)
Bash 4.0及更高版本还支持关联数组,其中索引可以是字符串或数字。要使用关联数组,首先声明它:
declare -A assoc_arrayassoc_array["key1"]="value1"assoc_array["key2"]="value2"
然后,可以像使用普通数组一样使用关联数组。但是,需要使用键(而不是索引)来访问值。
请注意,Shell脚本的数组功能可能因你使用的具体Shell(如Bash、Zsh、Dash等)和版本而有所不同。上述示例主要基于Bash。
在Shell脚本中,运算符扮演着至关重要的角色,它们提供了逻辑和算术操作的能力,使得脚本能够执行复杂的计算和条件判断。Shell脚本中的运算符主要分为算术运算符、关系运算符、逻辑运算符、字符串运算符和文件测试运算符。这些运算符提供了丰富的逻辑和算术功能,使得Shell脚本能够执行复杂的计算和条件判断,以满足各种自动化任务的需求。
1. 算术运算符
加法(+) 减法(-) 乘法(*) 除法(/) 取余(%) 赋值(=) 自增(++) 自减(--) 示例:
#!/bin/basha=5b=3sum=$((a + b))diff=$((a - b))product=$((a * b))quotient=$((a / b))remainder=$((a % b))echo "和: $sum"echo "差: $diff"echo "积: $product"echo "商: $quotient"echo "余数: $remainder"

等于(==) 不等于(!=) 大于(-gt) 小于(-lt) 大于等于(-ge) 小于等于(-le)
示例:
#!/bin/basha=5b=3if [ $a -gt $b ]; thenecho "$a 大于 $b"fiif [ $a -lt $b ]; thenecho "$a 小于 $b"elseecho "$a 不小于 $b"fi

逻辑与(&&) 逻辑或(||) 逻辑非(!) 示例:
#!/bin/basha=5b=3if [ $a -gt 3 ] && [ $b -lt 5 ]; thenecho "两个条件都满足"fiif ! [ $a -eq $b ]; thenecho "$a 不等于 $b"fi

等于(=) 不等于(!=) 字符串长度(${#string}) 示例:
#!/bin/bashstr1="Hello"str2="World"if [ "$str1" = "$str2" ]; thenecho "两个字符串相等"elseecho "两个字符串不相等"echo "字符串长度: ${#str1}"fi

文件存在(-e) 目录存在(-d) 文件可读(-r) 文件可写(-w) 文件可执行(-x) 文件为空(-s) 示例:
#!/bin/bashfile="/path/to/file"if [ -e $file ]; thenecho "文件存在"if [ -d $file ]; thenecho "并且是一个目录"elif [ -f $file ]; thenecho "并且是一个文件"fiif [ -r $file ]; thenecho "文件可读"fiif [ -s $file ]; thenecho "文件不为空"fifi
Shell数组和运算符是Shell脚本编程中不可或缺的工具。通过灵活使用它们,可以实现复杂的数据存储、管理和计算任务,使Shell脚本更加强大和灵活。
推荐阅读

学习Nginx(十一):反向代理与Tomcat动静分离配置
05-21

学习Nginx(七):Location的URI解析
05-15
分享、在看与点赞
👇只要你点,我们就是胖友👇




