大佬教程收集整理的这篇文章主要介绍了创建一个充当算命先生或“魔术8球”的bash脚本,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我到目前为止:
#!/bin/bash echo "Ask and you shall receive your fortune: " n=$((RANDOM*6/32767)) while [`grep $n temp | wc awk '{print$3}'` -eq 0]; do n=$((RANDOM*6/32767)) done grep -v $n temp > temp2 mv temp2 temp
基本上我在temp文件的不同行上都有6个响应,我试图构造循环,这样一旦给出响应,它就会创建一个没有响应的新文件(temp2),然后将其复制回temp.然后,一旦临时文件为空,它将从头开始继续.
我非常肯定我当前的内循环是错误的,而且我需要一个外循环,但我对此很新,我被卡住了.
任何帮助将不胜感激.
#!/bin/bash shuffle() { local i tmp size max rand # $RANDOM % (i+1) is biased because of the limited range of $RANDOM # Compensate by using a range which is a multiple of the array size. size=${#arraY[*]} max=$(( 32768 / size * size )) for ((i=size-1; i>0; i--)); do while (( (rand=$RANDOM) >= max )); do :; done rand=$(( rand % (i+1) )) tmp=${arraY[i]} arraY[i]=${arraY[rand]} arraY[rand]=$tmp done } array=( 'Yes' 'No' 'Maybe' 'Hard to tell' 'UnkNown' 'Unlikely' ) shuffle for var in "${arraY[@]}" do echo -n "Ask a question: " read q echo "${var}" done
以上是大佬教程为你收集整理的创建一个充当算命先生或“魔术8球”的bash脚本全部内容,希望文章能够帮你解决创建一个充当算命先生或“魔术8球”的bash脚本所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。