shell中的數(shù)組操作小結(jié)和冒泡排序?qū)崿F(xiàn)腳本分享
更新時(shí)間:2014年12月20日 14:53:02 投稿:junjie
這篇文章主要介紹了shell中的數(shù)組操作小結(jié)和冒泡排序?qū)崿F(xiàn)腳本分享,需要的朋友可以參考下
shell數(shù)組介紹:
復(fù)制代碼 代碼如下:
//數(shù)組變量定義:
$ arr=(1 3 6 8 2 5 9 0 7 4)
// 默認(rèn)獲取第一個(gè)元素
$ echo $arr
// 通過(guò)下標(biāo)訪問(wèn),下面取的數(shù)組第二個(gè)元素,shell數(shù)組下標(biāo)是從0開始
$ echo ${arr[1]}
// 訪問(wèn)整個(gè)數(shù)組
$ echo ${arr[@]} or echo ${arr[*]}
// 獲取數(shù)組的長(zhǎng)度(最大下標(biāo))
$ echo ${#arr[@]}
// 獲取單個(gè)元素字符串長(zhǎng)度
$ echo ${#arr[3]}
// 切片方式獲取一部分?jǐn)?shù)組內(nèi)容
$ echo ${arr[@]:1:2}
// 從第二個(gè)元素開始
$ echo ${arr[@]:2}
// 到第二個(gè)元素
$ echo ${arr[@]::2}
shell 實(shí)現(xiàn)冒泡排序:
復(fù)制代碼 代碼如下:
#!/bin/sh
#sorting following array
echo "please input a number list:"
read -a arr
for (( i=0 ; i<${#arr[@]} ; i++ ))
do
for (( j=${#arr[@]} - 1 ; j>i ; j-- ))
do
#echo $j
if [[ ${arr[j]} -lt ${arr[j-1]} ]]
then
t=${arr[j]}
arr[j]=${arr[j-1]}
arr[j-1]=$t
fi
done
done
echo "after sorting:"
echo ${arr[@]}
[tech@ebs sqlee]$ ./sorting.sh
please inout a number list:
0 2 9 6 8 5 7 4 3 1
after sorting:
0 1 2 3 4 5 6 7 8 9
您可能感興趣的文章:
相關(guān)文章
Shell腳本調(diào)快調(diào)慢系統(tǒng)時(shí)間(測(cè)試服務(wù)器時(shí)使用)
這篇文章主要介紹了Shell腳本修改系統(tǒng)時(shí)間(測(cè)試服務(wù)器時(shí)使用),本文腳本用于調(diào)快或者調(diào)慢系統(tǒng)時(shí)間,需要的朋友可以參考下2014-12-12Shell腳本導(dǎo)入導(dǎo)出數(shù)據(jù)的項(xiàng)目示例
在工作中,很多場(chǎng)景都會(huì)涉及到數(shù)據(jù)的導(dǎo)入導(dǎo)出,本文就介紹一下使用Shell腳本導(dǎo)入導(dǎo)出數(shù)據(jù)的項(xiàng)目示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04在linux上定期執(zhí)行命令、腳本(cron,crontab,anacron)
在linux下,如果想要在未來(lái)的某個(gè)時(shí)刻執(zhí)行某個(gè)任務(wù),并且在未來(lái)的每一個(gè)這樣的時(shí)刻里都要執(zhí)行這個(gè)任務(wù)。這篇文章主要介紹了在linux上定期執(zhí)行命令、腳本(cron,crontab,anacron)的相關(guān)知識(shí),需要的朋友可以參考下2018-07-07