真心求教shell脚本问题,谢谢

sh/bash/dash/ksh/zsh等Shell脚本
回复
jibo510
帖子: 2
注册时间: 2011-06-22 11:08

真心求教shell脚本问题,谢谢

#1

帖子 jibo510 » 2011-06-22 11:10

用shell脚本实现以下功能:建立一个文件夹,每一个文档里放一道题目,比如30-50道,随机从里面抽取10-20道,进行测试,可以实现判断对错,以及统计正确率等功能
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 真心求教shell脚本问题,谢谢

#2

帖子 eexpress » 2011-06-22 11:39

自己在bash下敲命令。一步一步走。
全实现的时候,合并到一个bash就是。
● 鸣学
jibo510
帖子: 2
注册时间: 2011-06-22 11:08

Re: 真心求教shell脚本问题,谢谢

#3

帖子 jibo510 » 2011-06-22 16:16

一点都没思路啊,大神会吗
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 真心求教shell脚本问题,谢谢

#4

帖子 tusooa » 2011-06-23 16:57

代码: 全选

inArray ()
{
    local name="$1" item
    shift
    for item in "$@" ; do
        [ "$item" = "$name" ] && return 0
    done
    return 1
}
files=()
cd someDir
while [[ ${#files[@]} = 10 ]] ; do
    file=$(( RANDOM % 30 ))
    inArray "$file" "${files[@]}" || files+=("$file")
done
cat "${files[@]}"
题目存成plaintext, 0-29数字命名,自动选择10道
对错之类,就不好搞了,除非已知有一个唯一的答案.

代码: 全选

] ls -ld //
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: 真心求教shell脚本问题,谢谢

#5

帖子 fnan » 2011-06-23 20:39

随机抽取题目可以用任意命名,不留空格,(要留也可以,没必要):
ls -1 题目文件夹|while read i;do echo $RANDOM $i;done|sort -n -k1|cut -d' ' -f2|head -15 #后面的数字决定题目数量。
对错问题,如果答案是A,B或C这类的选择题可以全自动处理。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
回复