Board logo

标题: [原创代码] shell工具 [打印本页]

作者: 111    时间: 2015-7-4 20:04     标题: shell工具

  1. #!/system/bin/sh
  2. root="`id`"
  3. case $root in
  4.   uid=0* )
  5.     ;;
  6.   *)
  7.     echo Please root first
  8.     exit
  9.     ;;
  10. esac
  11. if busybox [ -e /system/bin/clear ]
  12. then
  13.     break
  14. else
  15.     echo Please install busybox first.
  16.     exit
  17. fi
  18. until cat /data/mjump
  19. do
  20. clear
  21. echo "Enter the keys:"
  22. read pass
  23. rps="$((`date +%H%m`*`date +%d`))"
  24. case $pass in
  25.   $rps)
  26.     echo " ">/data/mjump
  27.   ;;
  28.   *)
  29.     echo 'Error!'
  30.     sleep 2
  31.   ;;
  32. esac
  33. done
  34. clear
  35. echo "Welcome to use myx program..."
  36. sleep 2
  37. while
  38. do
  39. clear
  40. echo "Today is `date` "
  41. echo "This system is `uname` `uname -r`"
  42. echo "This is my first Shell."
  43. echo "0.exit          1-3.watch my composition"
  44. echo "4.book reader   5.shutdown    6.notebook"
  45. echo "7.calculate average         8.calculator"
  46. echo "9.call or send SMS   a.install a package"
  47. echo "b.lock screen   c.make a seed of picture"
  48. echo "d.start talk AI beta     e.backup system"
  49. echo "f.start telnet server g.start web server"
  50. echo "h.start ftp server     i.make a vcf file"
  51. echo "j.make random        k.make a goods list"
  52. echo "              next.next page"
  53. echo 'Input a number or letter between 0 to m:'
  54. read s
  55. case $s in
  56.   0)
  57.     echo "Thanks used my Shell."
  58.     break
  59.     ;;
  60.   1)
  61.     clear
  62.     echo "Hi,I m the phone's master."
  63.     echo "My name is ******."
  64.     echo "I like to play computer,"
  65.     echo "so I want to be a computer programmer."
  66.     echo "I want to write a system like the Android,"
  67.     echo "then I must \"good good study,day day up\"."
  68.     sleep 10
  69.     ;;
  70.   2)
  71.     clear
  72.     echo "My father is *******."
  73.     echo "And my mother is *******."
  74.     echo "I love them."
  75.     sleep 5
  76.     ;;
  77.   3)
  78.     clear
  79.     echo "I think Shell is a good program language."
  80.     echo "Of course!batch is a good program language,too."
  81.    echo "C++ is good,but it is difficult."
  82.    sleep 10
  83.     ;;
  84.   4)
  85.     clear
  86.     echo "Write the book path:"
  87.     read bopa
  88.     more $bopa
  89.     sleep 1
  90.     ;;
  91.   5)
  92.     reboot -p
  93.     ;;
  94.   6)
  95.     clear
  96.     echo "Save to:"
  97.     read satx
  98.     echo >$satx
  99.     while
  100.     do
  101.     clear
  102.     echo "Input exit to exit"
  103.     cat $satx
  104.     echo "Input:"
  105.     read intx
  106.     case $intx in
  107.       exit)
  108.         break 1
  109.         ;;
  110.       *)
  111.         echo "$intx" >> "$satx"
  112.         ;;
  113.     esac
  114.     done
  115.     echo OK!
  116.     sleep 2
  117.     ;;
  118.   7)
  119.     clear
  120.     SCORE="0"
  121.     AVERAGE="0"
  122.     SUM="0"
  123.     NUM="0"
  124.     while
  125.     do
  126.     echo "Enter your $(($NUM+1)) number('q' for calculate): "
  127.     read SCORE
  128.     if [ "$SCORE" == "q" ]
  129.     then
  130.     echo "Average rating: $AVERAGE."
  131.     sleep 5
  132.     break 1
  133.     else
  134.     SUM=$(($SUM+$SCORE))
  135.     NUM=$(($NUM+1))
  136.     AVERAGE=$(($SUM/$NUM))
  137.     fi
  138.     done
  139.     ;;
  140.   8)
  141.     clear
  142.     echo "Write your equation:"
  143.     read ss
  144.     echo "${ss}=$((${ss})) "
  145.     sleep 5
  146.     ;;
  147.   9)
  148.     clear
  149.     echo " Your phone number:"
  150.     read sdt
  151.     echo "Your phone number is $sdt"
  152.     echo "Input 1 to call"
  153.     echo "Input 2 to send SMS"
  154.     echo 'Input a number between 1 to 2:'
  155.     read ab
  156.     case $ab in
  157.       1)
  158.         service call phone 2 s16 $sdt
  159.         ;;
  160.       2)
  161.         am start -a android.intent.action.SENDTO -d sms:$sdt --ez exit_on_sent true
  162.         ;;
  163.       *)
  164.         echo "Error!"
  165.         sleep 2
  166.         ;;
  167.     esac
  168.     ;;
  169.   a)
  170.     clear
  171.     echo "Write the package path:"
  172.     read pp
  173.     pm install "$pp"
  174.     ;;
  175.   b)
  176.     input keyevent 26
  177.     ;;
  178.   c)
  179.     clear
  180.     echo "Write the cabinet path:"
  181.     read cab
  182.     echo " Write the picture path:"
  183.     read pic
  184.     cat $cab >> $pic
  185.     echo 'OK!'
  186.     sleep 1
  187.     ;;
  188.   d)
  189.     echo "Welcome to use talk AI" >/cache/talk.txt
  190.     ais="Hello,I'm talk AI."
  191.     while
  192.     do
  193.     echo "`date` AI" >>/cache/talk.txt
  194.     echo "$ais" >>/cache/talk.txt
  195.     echo " ">>/cache/talk.txt
  196.    
  197.     clear
  198.     cat /cache/talk.txt
  199.     echo "----------------------------"
  200.     echo 'You say:'
  201.     read say
  202.     echo "`date` You" >>/cache/talk.txt
  203.     echo "$say" >>/cache/talk.txt
  204.     echo " " >>/cache/talk.txt
  205.    
  206.     case $say in
  207.       bye)
  208.         break 1
  209.         ;;
  210.    
  211.       *)
  212.         ais="Sorry,I don't know what do you say."
  213.         ;;
  214.     esac
  215.     done
  216.     ;;
  217.   e)
  218.     clear
  219.     echo "Please wait......"
  220.     dd if=/dev/block/mtdblock11 of=/sdcard/system.img
  221.     echo 'OK!'
  222.     sleep 1
  223.     ;;
  224.   f)
  225.     telnetd -l /system/bin/sh
  226.     echo OK!
  227.     sleep 1
  228.     ;;
  229.   g)
  230.     httpd -h /mnt/My-space/
  231.     echo OK!
  232.     sleep 1
  233.     ;;
  234.   h)
  235.     tcpsvd -vE 0.0.0.0 21 ftpd /
  236.     ;;
  237.   i)
  238.     clear
  239.     echo "Write the name:"
  240.     read nam
  241.     echo "Write the phone number:"
  242.     read num
  243.     echo "Write the save path:"
  244.     read vcs
  245.     echo "BEGIN:VCARD" >$vcs/$nam.vcf
  246.     echo "VERSION:2.1" >>$vcs/$nam.vcf
  247.     echo "N:$nam;" >>$vcs/$nam.vcf
  248.     echo "FN:$nam" >>$vcs/$nam.vcf
  249.     echo "TEL;CELL;VOICE:$num" >>$vcs/$nam.vcf
  250.     echo "END:VCARD" >>$vcs/$nam.vcf
  251.     echo "Saved to $vcs/$nam.vcf"
  252.     sleep 1
  253.     ;;
  254.   j)
  255.     clear
  256.     while
  257.     do
  258.     cat /proc/sys/kernel/random/uuid | awk -F- '{printf("%s ",$1)}'
  259.     sleep 1
  260.     done
  261.     ;;
  262.   k)
  263.     clear
  264.     coln(){
  265.     echo "Input Unit-price:"
  266.     read unit
  267.     echo "Input Quantity:"
  268.     read quty
  269.     lisn="$((${lisn}+1))"
  270.     toal="$((${unit}*${quty}))"
  271.     ttal="$((${ttal}+${toal}))"
  272.     }
  273.     lisn="0"
  274.     ttal="0"
  275.     echo "Save to:"
  276.     read sals
  277.     echo "Save for [1.txt 2.csv]:"
  278.     read bcfs
  279.     case $bcfs in
  280.       1)
  281.         echo "Goods list">$sals
  282.         echo "Num    Goods    Unit-price    Quantity    Total" >>$sals
  283.         echo "-----------------------------------">>$sals
  284.         while
  285.         do
  286.         clear
  287.         cat $sals
  288.         echo "Input Goods(Input exit to save):"
  289.         read gods
  290.         case $gods in
  291.           exit)
  292.             echo "-----------------------------------">>$sals
  293.             echo "Total:$ttal" >>$sals
  294.             echo "OK!"
  295.             sleep 1
  296.             break 1
  297.             ;;
  298.           *)
  299.             coln
  300.             echo "$lisn    $gods          $unit          $quty          $toal" >>$sals
  301.             ;;
  302.         esac
  303.         done
  304.         ;;
  305.       2)
  306.         echo "Goods list">$sals
  307.         echo "Num,Goods,Unit-price,Quantity,Total" >>$sals
  308.         while
  309.         do
  310.         clear
  311.         cat $sals | awk -F, '{printf("%s     %s     %s     %s     %s\n", $1, $2, $3, $4, $5)}'
  312.         echo "-----------------------------------"
  313.         echo "Input Goods(Input exit to save):"
  314.         read gods
  315.         case $gods in
  316.           exit)
  317.             echo "Total,$ttal" >>$sals
  318.             echo "OK!"
  319.             sleep 1
  320.             break 1
  321.             ;;
  322.           *)
  323.             coln
  324.             echo "$lisn,$gods,$unit,$quty,$toal" >>$sals
  325.             ;;
  326.         esac
  327.         done
  328.         ;;
  329.     esac
  330.     ;;
  331. next)
  332. while
  333. do
  334. clear
  335. echo "Today is `date` "
  336. echo "This system is `uname` `uname -r`"
  337. echo "This is my first Shell."
  338. echo "1.block website           2.find process"
  339. echo "3.systeminfo"
  340. echo "           back.back to main"
  341. echo 'Input a number or letter between 1 to 3:'
  342. read st
  343. case $st in
  344.   1)
  345.     clear
  346.     echo "input a domain:"
  347.     read domn
  348.     echo "127.0.0.1 $domn">>/etc/hosts
  349.     echo "OK!"
  350.     sleep 1
  351.     ;;
  352.   2)
  353.     clear
  354.     echo "Input process or pid:"
  355.     read pgd
  356.     ps | grep $pgd
  357.     sleep 10
  358.     ;;
  359.   3)
  360.     while
  361.     do
  362.     clear
  363.     cat /proc/loadavg | awk '{printf("Cpu:%s\n",$1)}'
  364.     cat /proc/meminfo | grep MemTotal:
  365.     cat /proc/meminfo | grep MemFree:
  366.     df | grep /mnt/sdcard | awk '{printf("Diskfree:%sKB/%sKB",$1,$2)}'
  367.     sleep 1
  368.     done
  369.     ;;
  370.   back)
  371.     break 1
  372.     ;;
  373. *)
  374.     echo "Error!"
  375.     sleep 2
  376.     ;;
  377. esac
  378. done
  379. ;;
  380.   *)
  381.     echo "Error!"
  382.     sleep 2
  383.     ;;
  384. esac
  385. done
复制代码
最近学习了shell,做了个小shell工具,在手机上能正常运行,请用Linux人的帮忙在电脑测试一下
作者: gawk    时间: 2015-7-4 23:01

嗯,用来练习语法还行。Linux系统管理员一般不用这样的脚本。
其实你自己用虚拟机搭建一个Linux环境也很简单的。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2