我正在研究一个bash脚本,基本上可以针对CPU播放Rock Paper Scissors。 我遇到的问题是我不能让它在变量之间随机选择,而只是选择注意到的第一个变量。以下是需要工作的代码部分:
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
我已经尝试在论坛上寻找方法,但谷歌只会弹出论坛,随机从另一个文件中挑选行而不是文件本身。
答案 0 :(得分:4)
declare -a values=(rock paper scissors)
echo "${values[$(( $RANDOM % ${#values[*]} ))]}"
答案 1 :(得分:2)
这样的事情怎么样:
choices=(rock paper cissors) # Define an array with 3 choices
RPS=${choices[$RANDOM%3]} # Pick one at random
Bash有一个名为$ RANDOM的内置变量,它返回一个随机整数。