當前位置:首頁 » 編程軟體 » 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

熱點內容
db2plsql 發布:2025-01-22 08:19:10 瀏覽:778
豬豬俠腳本沒反應 發布:2025-01-22 08:08:37 瀏覽:811
賽博朋克跟永劫無間哪個配置高 發布:2025-01-22 08:07:07 瀏覽:534
請盡快上傳 發布:2025-01-22 08:06:22 瀏覽:188
河北編程培訓 發布:2025-01-22 08:01:42 瀏覽:591
a星演算法視頻 發布:2025-01-22 07:55:01 瀏覽:878
快手安卓怎麼直播 發布:2025-01-22 07:54:58 瀏覽:937
買伺服器搭建vpn 發布:2025-01-22 07:53:21 瀏覽:808
路由器忘記密碼如何解 發布:2025-01-22 07:38:47 瀏覽:154
5分鍾視頻編譯 發布:2025-01-22 07:36:33 瀏覽:772