2

私は、基本的に CPU に対してジャンケンをプレイするための bash スクリプトに取り組んでいます。私が抱えている問題は、変数間でランダムに選択することができず、代わりに最初の変数を選択することです。作業が必要なコードのセクションは次のとおりです。

r="rock"
p="paper"
s="scissors"
RPS=$r||$p||$s    #The line that needs to be fixed
#rps=$r||$p||$s works but only outputs rock...
echo $RPS

フォーラムでこれを行う方法を探してみましたが、Google は、ファイル自体ではなく、別のファイルから行をランダムに選択するためのフォーラムのみをポップアップします。

4

2 に答える 2

4
declare -a values=(rock paper scissors)
echo "${values[$(( $RANDOM % ${#values[*]} ))]}"
于 2012-07-18T15:25:34.253 に答える
2

このようなものはどうですか:

choices=(rock paper cissors) # Define an array with 3 choices
RPS=${choices[$RANDOM%3]}    # Pick one at random

討論

Bashには、ランダムな整数を返す$RANDOMという組み込み変数があります。

于 2012-07-18T15:29:26.477 に答える