shell中的數組操作小結和冒泡排序實現指令碼分享_linux shell

來源:互聯網
上載者:User

shell數組介紹:

複製代碼 代碼如下:

//陣列變數定義:
$ arr=(1 3 6 8 2 5 9 0 7 4)
// 預設擷取第一個元素
$ echo $arr
// 通過下標訪問,下面取的數組第二個元素,shell數組下標是從0開始
$ echo ${arr[1]}   
// 訪問整個數組
$ echo ${arr[@]}  or echo ${arr[*]}
// 擷取數組的長度(最大下標)
$ echo ${#arr[@]}
 // 擷取單個元素字串長度
$ echo ${#arr[3]}
 // 切片方式擷取一部分數組內容 
$ echo ${arr[@]:1:2}
// 從第二個元素開始
$ echo ${arr[@]:2} 
// 到第二個元素
$ echo ${arr[@]::2}

shell 實現冒泡排序:
複製代碼 代碼如下:

#!/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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.