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 

 

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]}

 

 

 

 

posted @ 2012-03-29 00:32  再快一点  阅读(380)  评论(0编辑  收藏  举报