我在Shell脚本中创建一个机器人:
# Array with expressions
expressions=("Ploink Poink" "I Need Oil" "Some Bytes are Missing!" "Poink Poink" "Piiiip Beeeep!!" "Hello" "Whoops! I'm out of memmory!")
# Seed random generator
RANDOM=$$$(date +%s)
# Loop loop loop loop loop loop ...
while [ 1 ]
do
# Get random expression...
selectedexpression=${expressions[$RANDOM % ${#RANDOM[*]}]}
# Write to Shell
echo $selectedexpression
# Wait an half hour
sleep 1 # It's one second for debugging, dear SOers
done
我想让它每秒钟打印一个来自expressions
的随机项目。我试过了,但它不起作用。它每次只打印第一个(Ploink Poink)。有人能帮我吗?谢谢
5条答案
按热度按时间6mzjoqzu1#
将定义
selectedexpression
的行更改为你希望
expression
的索引是一个从0到expression
数组长度的随机数,这就可以做到。bz4sfanl2#
e0uiprwp3#
下面是另一个可能比Jacob Mattison的解决方案更随机的解决方案(在
jot
手册页中很难说):dw1jzc5e4#
使用shuf的解决方案:
或者可能更好:
q43xntqr5#
对于随机
1.