当前位置:首页 » 编程软件 » 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

热点内容
移动云服务器下载 发布:2024-11-16 10:37:23 浏览:857
融媒体中心建设专题片拍摄脚本 发布:2024-11-16 10:37:22 浏览:934
域控制服务器怎么管理vlan 发布:2024-11-16 10:06:49 浏览:28
jquery图片压缩上传 发布:2024-11-16 09:54:50 浏览:602
安卓如何排查内存泄漏 发布:2024-11-16 09:54:13 浏览:199
怎么设置登录局域网服务器凭据 发布:2024-11-16 09:49:46 浏览:539
闲置电脑家用下载服务器 发布:2024-11-16 09:48:28 浏览:750
java工程师面试问题 发布:2024-11-16 09:28:36 浏览:234
用什么引擎导出的安卓安装包不大 发布:2024-11-16 09:09:06 浏览:474
安卓手机如何设置转接 发布:2024-11-16 09:08:55 浏览:423