Bash总结
1.常用三种循环
declare -i num=0
for((i=1;i<100;i++))
do
num=num+i
done
echo '1+2+3+...+99='$num
declare -i i=1
num=0
while [ $i -lt 100 ]
do
num=num+i
i=i+1
done
echo '1+2+3+...+99='$num
i=1
num=0
until [ $i -eq 100 ]
do
num=num+i
i=i+1
done
echo '1+2+3+...+99='$num
for((i=1;i<100;i++))
do
num=num+i
done
echo '1+2+3+...+99='$num
declare -i i=1
num=0
while [ $i -lt 100 ]
do
num=num+i
i=i+1
done
echo '1+2+3+...+99='$num
i=1
num=0
until [ $i -eq 100 ]
do
num=num+i
i=i+1
done
echo '1+2+3+...+99='$num
2.Bash中的异步调用
wget http://localhost:81/index.php 1>/dev/null 2>/dev/null &
3.数组操作
#!/bin/sh
#初始化数组,每个元素用空格分开
arr=(10 9 8 7 6)
arr2=("aa" "bb" "cc")
#访问数组某个元素(下标从0开始)
echo ${arr[4]}
#获取数组所有元素
echo ${arr2[@]}
#获取数组所有元素
echo ${arr2[*]}
#获取数组长度
echo ${#arr2[@]}
#遍历数组
for str in ${arr2[@]}
do
echo $str
done
#遍历数组
for((i=0;i<${#arr[@]};i++));do
echo ${arr[$i]}
done
#删除数组某个元素
unset arr[0]
echo ${arr[*]}
#获取数组长度
echo ${#arr[*]}
#删除整个数组
unset arr
echo ${arr[*]}
#对数组进行截取: ${数组名[@或*]:起始位置:长度}
echo ${arr2[*]:1:2}
#使用数组截取构造一个新数组,截取原先数组,返回的是字符串,中间用“空格”分开,因此如果加上”()”,将得到一个子数组
arr3=(${arr2[*]:1:2})
echo ${arr3[*]}
#数组元素替换,该操作不会
arr4=("aa" "bb" "aa" "bb" "aa" "bb")
#将数组中所有aa替换为dd
echo ${arr4[*]/aa/dd}
#数组arr4还是未变
echo ${arr4[@]}
#数组替换后构造一个新数组,同理,数组执行替换后返回的是字符串,中间用“空格”分开,因此如果加上”()”,将得到一个子数组
arr5=(${arr4[*]/aa/dd})
echo ${arr5[5]}
#初始化数组,每个元素用空格分开
arr=(10 9 8 7 6)
arr2=("aa" "bb" "cc")
#访问数组某个元素(下标从0开始)
echo ${arr[4]}
#获取数组所有元素
echo ${arr2[@]}
#获取数组所有元素
echo ${arr2[*]}
#获取数组长度
echo ${#arr2[@]}
#遍历数组
for str in ${arr2[@]}
do
echo $str
done
#遍历数组
for((i=0;i<${#arr[@]};i++));do
echo ${arr[$i]}
done
#删除数组某个元素
unset arr[0]
echo ${arr[*]}
#获取数组长度
echo ${#arr[*]}
#删除整个数组
unset arr
echo ${arr[*]}
#对数组进行截取: ${数组名[@或*]:起始位置:长度}
echo ${arr2[*]:1:2}
#使用数组截取构造一个新数组,截取原先数组,返回的是字符串,中间用“空格”分开,因此如果加上”()”,将得到一个子数组
arr3=(${arr2[*]:1:2})
echo ${arr3[*]}
#数组元素替换,该操作不会
arr4=("aa" "bb" "aa" "bb" "aa" "bb")
#将数组中所有aa替换为dd
echo ${arr4[*]/aa/dd}
#数组arr4还是未变
echo ${arr4[@]}
#数组替换后构造一个新数组,同理,数组执行替换后返回的是字符串,中间用“空格”分开,因此如果加上”()”,将得到一个子数组
arr5=(${arr4[*]/aa/dd})
echo ${arr5[5]}