linux常用命令加选项,有成百上个,仅仅靠背诵忘记得太快,所以写了此脚本,便于对linux命令的练习,希望能帮助到大家。
运行脚本效果如下:
上边两图一个是运行脚本时的截图,另一个为题库的格式(@做分隔符,所以如果题目中有@一定要替换掉)
下面附上源码
#!/bin/bash
#版本号:1.0
#作者:Mr.L
#WX:504498722
FILE=/root/scripts/testfile.txt # 此为题库文本文件地址,可以改为你喜欢的地址
LINE=`wc -l < ${FILE}`
sub=””
fileAnswer() {
MYRAND=$[$[$RANDOM%${LINE}]+1]
sub=$(sed -n “${MYRAND}p” $FILE)
answer0=$(echo $sub | cut -d”@” -f1)
answer1=$(echo $sub | cut -d”@” -f2)
answer2=$(echo $sub | cut -d”@” -f3)
answer3=$(echo $sub | cut -d”@” -f4)
}
printAnswer() {
echo “your last subject and answer is :”
echo “$sub”
echo “”
}
filetest() {
fileAnswer
echo ${answer0}
read -p “Input your answer: ” answer
if [ “$answer” == “$answer1” ] || [ “$answer” == “$answer2” ] || [ “$answer” == “$answer3” ];then
echo “your answer is ok”
echo “”
else
echo “your answer is not OK”
echo “”
fi
}
usage() {
case $1 in
1)
filetest
;;
2)
printAnswer
;;
3)
filetest
;;
5)
echo “thank your answer my questions”
exit 0
;;
*)
echo “bash choice”
return 9
;;
esac
}
promt() {
cat<
*************************************
* MENU *
* 1.Start Test *
* 2.Correct Answer *
* 3.Next Question *
5.exit by:Mr.L
*************************************
EOF
}
promt
read -p “please enter your choice: ” choice
while true;do
usage $choice
promt
read -p “please enter your choice again: ” choice
done
运行脚本后还有两个问题仍需要解决:
1.题目无法显示到菜单框图里
2.$RANDOM% 取随机数是有可能出现连续两次取到同一个数字的问题
3.CentOS7显示汉乱码,6系列显示正常
PS:如果发现脚本中的BUG或者有人解决了这两个问题,请与我联系(脚本中有我的联系方式),我也会利用闲暇时间针对上述问题作出修改。同时希望大家能共同完善脚本题库,题库我会在下周更新。
注:此脚本独家发布178Linux,更改源码或者转载请注明出处。
原创文章,作者:cnc,如若转载,请注明出处:http://www.178linux.com/71333