當前位置:首頁 » 編程軟體 » shell編程數組

shell編程數組

發布時間: 2024-01-29 22:59:37

1. linux,shell如何把字元串變成數組

echo $url | cut -d , -f 1
cut是切割命令,-d表示分隔符,這里是逗號,-f表示取第幾個,這里是第一個
注意和數組不一樣,數組是取第0個。

2. shell腳本生成[4,9]范圍內的隨機整數,包含邊界值4和9,並將隨機數序列存放在一個數組中,腳本實現

#!/bin/sh
declare -a arr #聲明arr為數組
arr=(`seq 4 9 | awk 'BEGIN{srand();ORS=" "} {b[rand()]=$0} END{for(x in b) print b[x]}'`)
echo ${arr[*]} #列印數組array的所有元素
exit 0

說明:
生成[4,9]范圍內不重復的隨機整數,並保存到數組arr中。
seq 4 9 用於生成4~9的整數序列(包含邊界值4和9)。
awk中的rand() 函數用於隨機產生一個0到1之間的小數值(保留小數點後6位)。
由於rand()只生成一次隨機數,要使用srand() 函數使隨機數滾動生成(括弧里留空即默認採用當前時間作為隨機計數器的種子)。這樣以秒為間隔,隨機數就能滾動隨機生成了。

限制:
由於以秒為間隔,所以如果快速連續運行兩次腳本(1s內),你會發現生成的隨機數還是一樣的。

3. linux shell 腳本 求任意10個數的最大值。(使用數組)

讀取10個數字存入數組中

然後使用一個變數max將它的初始值設置為數組中第一個元素的值

接著從數組中第二個元素開始遍歷整個數組

如果某個元素的值大於max則將max設置為該值

如此遍歷完整個數組後max中便是整個數組中最大的值


下面是一個簡單的示例代碼

#!/bin/bash

echo-n'輸入10個數:'
read-aa

max=${a[0]};

foriin{1..9}
do
if[${a[$i]}>$max]
then
max=${a[$i]}
fi
done

echo"最大值為:$max"

exit0

4. shell腳本中數組的基本用法

首先要告訴大家,Bash Shell 只支持一維數組,而且初始化的時候不用定義數組的大小。

(一) 定義數組,方法1:使用小括弧賦值

            array1=(A B C D)或者array1=("A" "B" "C" "D")

            定義數組,方法2:使用數組下表挨個賦值

            array2[0]=a

            array2[1]=b

            可能會有朋友會問問什麼不用declare聲明也能用,在這跟大家拓展下,所有變數不用顯式定義都能用作數組,所以用不用declare聲明都可以

(二) 讀取數組

            ${array[下標值]},例如:${array1[2]}

            若要獲取數組中全部的值,使用${array[*]}或者${array[@]}

(三) 獲取數組長度   ${#array1[*]},關鍵在加了個#

(四) 刪除數組內容元素  unset ${array1[下標]} ,刪除整個數組   unset array1

5. shell中數組怎麼循環賦值,急

Bash環境可以這樣。

#!/bin/bash

for ((i=1;i<=100;i++))

do

name[$i]=$i

echo ${name[$i]} #為方便檢查,加了列印

done

通用點的(符合POSIX標准)可以這樣:

#!/bin/sh

declare -a name

for i in `seq 100`

do

name[$i]=$i

echo ${name[$i]} #為方便檢查,加了列印

done

熱點內容
我的世界bate版怎麼開伺服器 發布:2024-11-16 13:00:45 瀏覽:243
磁碟訪問限制 發布:2024-11-16 13:00:33 瀏覽:288
安卓如何設計實現簡訊提醒 發布:2024-11-16 12:59:28 瀏覽:437
匯總壓縮的錢多久可取 發布:2024-11-16 12:59:21 瀏覽:353
解析java文件 發布:2024-11-16 12:57:53 瀏覽:262
安卓手機如何使用印象筆記剪影 發布:2024-11-16 12:32:18 瀏覽:177
電腦伺服器在哪裡輸入 發布:2024-11-16 12:27:22 瀏覽:263
魅族16th如何設置熱點密碼 發布:2024-11-16 12:22:15 瀏覽:396
浙江密碼文件櫃哪裡有 發布:2024-11-16 12:20:34 瀏覽:953
c語言逆序輸出整數 發布:2024-11-16 12:20:31 瀏覽:797