原来我拿shell写的计算器:[root@liuxiting testdir]# cat calculator.sh #!/bin/岩告bashecho "usage: 1+3 ,q is quit"while [ 1 ]doread -p "->>" str 1>>/dev/null a=`echo $str |awk -F '+|-|*|/' '{print $1}'`if [ $a == q ]thenbreakfib=`echo $str |awk -F '+|-|*|/' '{print $2}'`o=`echo $str |grep -o "[[:punct:]]" | grep -v "粗亏明\."`case $o in+) awk 'BEGIN{printf " =%.2f\n",'$a'+'$b'}';;-) awk 'BEGIN{printf " =%.2f\n",'$a'-'$b'}';;\*) awk 'BEGIN{printf " =%.2f\n",'$a'*'$b'}';;/)if [ $b -eq 0 ]then echo 0 Can NOT be denominator!continuefi awk 'BEGIN{printf " =%.2f\n",'$a'/'$b'}';;#^) awk 'BEGIN{printf " =%.2f\n",'$a'**'$b'}';;*) echo error;;esacdone 刚刚写的倒序输出:[root@liuxiting testdir]# cat daoXuShuChu.sh #!/bin/bash echo "usage: 123456 , q is quit"while [ 1 ]doecho -n "Pleasw enter number : " read n if [ $n == '空升q' ]then breakfisd=0 rev="" on=$n echo "$n" while [ $n -gt 0 ] do sd=$(( $n % 10 )) # get Remainder n=$(( $n / 10 )) # get next digit rev=$( echo $rev$sd) done echo "$on in a reverse order $rev" done
标签:linux,shell,脚本