Bash从列表

时间:2016-02-25 09:39:21

标签: string bash list random

我有一个字符串列表,我想在每次启动脚本时随机选择其中一个字符串。

例如

SDF_BCH_CB="file1.sdf"
SDF_BCH_CW="file2.sdf"
SDF_BCH_RCB="file3.sdf"
SDF_BCH_RCW="file4.sdf"
SDF_TT="file5.sdf"

然后我想从上面的列表中随机选择以分配以下两个变量。

SDFFILE_MIN=$SDF_BCH_CW
SDFFILE_MAX=$SDF_TT

我该怎么做?

由于

2 个答案:

答案 0 :(得分:7)

存储在数组,计数和随机选择中:

#!/bin/bash
array[0]="file1.sdf"
array[1]="file2.sdf"
array[2]="file3.sdf"
array[3]="file4.sdf"

size=${#array[@]}
index=$(($RANDOM % $size))
echo ${array[$index]}

答案 1 :(得分:4)

使用内置的$ RANDOM函数和数组。

TRIM()

这为SDFFILE_MIN和SDFFILE_MAX提供了两个不同的字符串。如果他们不必不同,请删除中间的if语句。