1

これの目的は、基本的にカードのデッキを作成し、ランダムに 1 を引くことです。現時点では、文字列を分割して配列に読み込むことさえしていません。と文字列のコマンドが見つからないというメッセージと、 の別のエラーの両方がsuites表示denominationsされ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
4

1 に答える 1

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

これが私が実行したスクリプトです。1 つの違いは、スイートとデノミネーションの行で「と」を使用しているときに「」を使用していることです。つまり、0x22 対 u+201c と u+201d です。

于 2013-04-29T00:00:25.837 に答える