shell数组(产生不同的随机数)

#!/bin/bash
#
declare -a ARRAY
read -p "Please input num[1-39]:" EMENUM
#对比新生成的随机数是否重复
function COMELE {
  for J in `seq 1 ${#ARRAY[@]}`;do
    if [ $1 -eq ${ARRAY[$J]} ]; then
      return 1
    fi
  done
  return 0
}

for I in `seq 1 $EMENUM`; do
  while true; do
    ELEMENT=$[$RANDOM%40]
    COMELE $ELEMENT
    if [ $? -eq 0 ]; then
    break
    fi
  done
  ARRAY[$I]=$ELEMENT

  echo "${ARRAY[$I]}"
  done
时间: 2024-12-20 08:41:01

shell数组(产生不同的随机数)的相关文章

Shell编程之case多分支语句、循环语句(for、while等)、Shell函数、Shell数组

case多分支语句 case语句的结构: 针对变量的不同取值,分别执行不同的命令列 case 变量值 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; ..... *) 默认命令序列 esac 示例: 字符类型识别: 提示用户输入一个字符: 判断出该字符是字母.数字或者其他字符. 脚本如下: [[email protected] opt]# vim test01.sh #!/bin/bash read -p "请输入一个字符:" key case $key in [a-z]

linux shell 数组建立及使用技巧

转自linux shell 数组建立及使用技巧 linux shell在编程方面比windows 批处理强大太多,无论是在循环.运算.已经数据类型方面都是不能比较的. 下面是个人在使用时候,对它在数组方面一些操作进行的总结. 1.数组定义 [[email protected] ~]$ a=(1 2 3 4 5)[[email protected] ~]$ echo $a1 一对括号表示是数组,数组元素用“空格”符号分割开. 2.数组读取与赋值 得到长度: [[email protected] ~

shell数组和字典

shell数组和字典 #!/bin/bash echo "shell定义字典" #必须先声明 declare -A dic dic=([key1]="value1" [key2]="value2" [key3]="value3") #打印指定key的value echo ${dic["key1"]} #打印所有key值 echo ${!dic[*]} #打印所有value echo ${dic[*]} #遍

linux shell数组

from: http://www.jb51.net/article/34322.htm bash shell只支持一维数组,但参数个数没有限制. 声明一个数组:declare -a array(其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组) 数组赋值:(1) array=(var1 var2 var3 ... varN)(2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)(3) array[0]=var1    arrya[

shell--4、Shell 数组

数组中可以存放多个值.Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似). 与大部分编程语言类似,数组元素的下标由0开始. Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: array_name=(value1 ... valuen) 实例 #!/bin/bash my_array=(A B "C" D) 我们也可以使用下标来定义数组: array_name[0]=value0 array_n

Linux Shell系列教程之(六)Shell数组

本文是Linux Shell系列教程的第(六)篇,更多shell教程请看:Linux Shell系列教程 Shell在编程方面非常强大,其数组功能也非常的完善,今天就为大家介绍下Shell数组的用法. Shell支持一维数组(不支持多维数组),并且没有限定数组的大小. 类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0. 一.Shell数组的定义 在Shell中,用括号来表示数组,数组元素之间用“空格”分割开. 定义数组的一般形式

shell--2.shell数组

shell 数组 (1)定义数组 shell中,用括号表示数组,数组元素用空格分开,定义数组的一般形式 arrt_name=(val1 val2 val3) 或者 arry_name=(val1 var2 val3 val4 ) 或者 arry_name[0]=val1 arry_name[3]=val3 可以不使用连续的下标,而且下标范围没有限制 (2)读取数组 ${arry_name[0]} 使用@读取数组所有的元素 arry[1]=10 arry[3]=20 echo ${arry[@]}

记linux shell的两个小技巧:shell数组和字符串判断

最近在使用shell写脚本的时候,想实现python中两个很简单的功能:1:判断一个字符串是否包含另一个字符串.2:怎么用实现python的列表功:1.这里跟大家分享一下. 1:判断一个字符串是否包含另一个字符串: string="abcdefg" if [[ "$string" =~ "abc" ]];then   echo "do something.." else   echo "nothing.."

Linux Shell数组常用操作详解

Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) 1 declare -a array 2 array=(1 2 3 4 5) 数组用小括号括起,数组元素之间用空格分开 2显示数组长度: [@tc_132_227 dm_pid_day]$ echo ${#array[@]} 5 [@tc_132_227 dm_pid_day]$ echo ${#array[*]} 5 命令: ${#数组名[@或*]} 获取数组长度,若数组无

shell 数组介绍及相关操作

引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组. 数组的定义 何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念).那么shell中数组是怎么定义的呢,我们来看两种数据类型:一是数值类型,二是字符串类型:虽然shell本身是弱类型的,但也可以这么区分.