将字符串分解为数组并在bash中随机选择一个元素

时间:2013-04-28 23:56:13

标签: arrays string bash

这个目的基本上是创建一副牌并随机抽取1.现在,它甚至没有拆分字符串并将它们读入阵列。我同时找不到suitesdenominations字符串的命令,然后是RANDOM的另一个错误。

我在IFS线上写错了吗?我是bash脚本的新手,我非常感谢大家的帮助=]!

#!/bin/bash
# Count how many elements.
Suites=“Clubs Diamonds Hearts Spades”
Denominations=“2 3 4 5 6 7 8 9 10 Jack Queen King Ace”
# Read into array variable.
IFS=' '
suite=($Suites)
denomination=($Denominations)
# Count how many elements.
num_suites=${#suite[*]}
num_denominations=${#denomination[*]}
echo -n "${denomination[$((RANDOM%num_denominations))]} of "
echo ${suite[$((RANDOM%num_suites))]}
exit 0

1 个答案:

答案 0 :(得分:2)

#!/bin/bash
# Count how many elements.
Suites="Clubs Diamonds Hearts Spades"
Denominations="2 3 4 5 6 7 8 9 10 Jack Queen King Ace"
# Read into array variable.
IFS=' '
suite=($Suites)
denomination=($Denominations)
# Count how many elements.
num_suites=${#suite[*]}
num_denominations=${#denomination[*]}
echo -n "${denomination[$((RANDOM%num_denominations))]} of "
echo ${suite[$((RANDOM%num_suites))]}
exit 0

这是我运行的脚本。我看到的一个区别是,我使用“当你使用”和“在你的套件和面额线上。或者,0x22对比你+ 201c和u + 201d。