嵌入式考试Shell编程题

单片机与嵌入式系统考试Shell编程题库,简单地做了下。

1、提示输入N个学生的成绩,并将百分制成绩转换为5分制成绩,最后将学号、成绩保存在score.dat中。
转换规则[90,100]=5,[80,90]=4,[70,80]=3,[60,70]=2,[0,60]=1。
2、从屏幕上输入N个数据,将它们排序,把排序后的结果保存在result.dat中。
3、判断/home/tesh.sh文件是否存在,如果存在,删除该文件,如果不存在,创建该文件。
4、从屏幕上输入N个数,寻找这N个数的最大值,最小值,并输出。
5、计算"1+2+3+...+100"的和,并输出结果。
6、提示输入一个字符,如果输入“Y”,输出“right!”,如果输入“N”,输出“wrong!”,如果是其它输入,输出“bad input!”,并要求重新输入。
7、提示输入两个数,然后提示输入运算符“+或-”,根据运算符做“+、-”运算,最后输出结果。
8、判断/home/exam目录是否存在,如果存在,删除该目录,如果不存在,创建该目录。
9、提示输入两个数,然后提示输入运算符“+、-、x”,根据运算符做“+、-、x”运算,最后输出结果。

#!/bin/bash
# test1.sh
# 2016.1.2
  
echo "Please input N student grade:"
read -a grade
for ((i=0;i<${#grade[@]};i++))
do
    if [[ ${grade[i]} -ge 90 ]]
    then
        grade[i]=5
    elif [[ ${grade[i]} -ge 80 ]]
    then
        grade[i]=4
    elif [[ ${grade[i]} -ge 70 ]]
    then
        grade[i]=3
    elif [[ ${grade[i]} -ge 60 ]]
    then
        grade[i]=2
    else
        grade[i]=1
    fi
done
#echo ${grade[*]}
echo ${grade[*]} > score.dat
#!/bin/bash
# test2.sh
# 2016.1.2

echo "Please input N number:"
read -a arr
for ((i=0;i<${#arr[@]};i++))
do
    for ((j=${#arr[@]}-1;j>i;j--))
    do
        if [[ ${arr[j]} -lt ${arr[j-1]} ]]
        then
            t=${arr[j]}
            arr[j]=${arr[j-1]}
            arr[j-1]=$t
        fi
    done
done
echo ${arr[*]} > result.dat
#!/bin/bash
# test3.sh 
# 2016.1.2

cd /home
if test -e tesh.sh
then
    rm tesh.sh
else
    touch tesh.sh
fi
#!/bin/bash
# test4.sh
# 2016.1.2

if [ -z "$1" ]
then
    echo "You should input N num!"
    exit 1
fi

max=$1
min=$1
for num in $*
do
    if [ $num -gt $max ]
    then
        max=$num
    fi
    if [ $num -lt $min ]
    then
        min=$num
    fi
done
echo "Max: $max , Min: $min"
#!/bin/bash
# test5.sh
# 2016.1.2

j=0;
for ((i=1;i<=100;i++))
do
    j=`expr $i + $j`
done
echo $j
#!/bin/bash
# test6.sh
# 2016.1.2

echo "Input 1 char:"
read a
if [ $a = 'Y' ]
then
    echo "right!"
elif [ $a = 'N' ]
then
    echo "wrong!"
else
    echo "bad input!"
fi
#!/bin/bash
# test7.sh
# 2016.1.2

echo "Input 2 Number:"
read a
read b
echo "Input + or - :"
read op
if [ $op = '+' ]
then
    x=`expr $a + $b`
elif [ $op = '-' ]
then
    x=`expr $a - $b`
fi
echo $x
#!/bin/bash
# test8.sh 
# 2016.1.2

cd /home
if test -d exam
then
    rm -r exam
else
    mkdir exam
fi
#!/bin/bash
# test9.sh
# 2016.1.2

echo "Input 2 Number:"
read a
read b
echo "Input + or - or x:"
read op
if [ $op = '+' ]
then
    x=`expr $a + $b`
elif [ $op = '-' ]
then
    x=`expr $a - $b`
elif [ $op = 'x' ]
then
    x=`expr $a \* $b`
fi
echo $x

OK!

 

posted @ 2016-01-02 20:07  ht-beyond  阅读(1323)  评论(0编辑  收藏  举报