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<<EOF************************************** MENU ** 1.Start Test *
* 2.Correct Answer *
* 3.Next Question *
5.exit by:Mr.L
*************************************EOF}promt
read -p “please enter your choice: ” choicewhile true;do
usage $choice promt read -p “please enter your choice again: ” choicedone运行脚本后还有两个问题仍需要解决:
1.题目无法显示到菜单框图里
2.$RANDOM% 取随机数是有可能出现连续两次取到同一个数字的问题
3.CentOS7显示汉乱码,6系列显示正常
PS:如果发现脚本中的BUG或者有人解决了这两个问题,请与我联系(脚本中有我的联系方式),我也会利用闲暇时间针对上述问题作出修改。同时希望大家能共同完善脚本题库,题库我会在下周更新。