shell基础练习

shell基础练习

 


1、编写shell脚本,实现1-100的猜数字游戏。

 

 


   
   
   
   
  1. #!/bin/bash
  2. ##RANDOM随机函数,100取余就可以获得1-100的随机整数
  3. n=$[$RANDOM%100]
  4. while :
  5. do
  6. read -p "请输入一个1-100间的整数:" n1
  7. n2=`echo $n1|sed 's/[0-9]//g'`
  8. if [ ! -z $n2 ]
  9. then
  10. echo "你输入的不是1-100的整数!"
  11. continue
  12. fi
  13. if [ $n1 -gt 100 ] || [ $n1 == 0 ]
  14. then
  15. echo "请输入1-100的整数!"
  16. continue
  17. fi
  18. if [ $n1 == $n ]
  19. then
  20. echo "你猜对了!"
  21. break
  22. elif [ $n1 -gt $n ]
  23. then
  24. echo "你输入的数字太大了!"
  25. continue
  26. else
  27. echo "你输入的数字太小了!"
  28. continue
  29. fi
  30. done



2、编写shell脚本,打印乘法口诀表

 


   
   
   
   
  1. #!/bin/bash
  2. for i in `seq 1 9`
  3. do
  4. for j in `seq 1 $i`
  5. do
  6. k=$[$i*$j]
  7. ##-n选项,不换行,-e使用制表符
  8. echo -ne "$j""X""$i=$k\t"
  9. done
  10. echo
  11. done



3、编写shell脚本,计算1-100的和

 


   
   
   
   
  1. #!/bin/bash
  2. for i in `seq 1 100`
  3. do
  4. j=$[$j+$i]
  5. done
  6. echo $j




4、编写shell脚本,要求输入一个正整数,然后计算出从1到输入数字的和,要求如果输入的数字小于1,则重新输入,直到输入正确的数字为止;

 


   
   
   
   
  1. #!/bin/bash
  2. while :
  3. do
  4. read -p "请输入一个正整数: " n
  5. if echo $n |grep -q '[^0-9]'
  6. then
  7. echo "你没有输入一个正整数!"
  8. continue
  9. fi
  10. if [ $n -lt 1 ]
  11. then
  12. echo "你没有输入大于1的数!"
  13. continue
  14. fi
  15. for i in `seq 1 $n`
  16. do
  17. j=$[$j+$i]
  18. done
  19. echo $j
  20. exit
  21. done



5、编写shell脚本,把/root/目录下的所有目录(只需要一级)拷贝到/tmp/目录下;

 


   
   
   
   
  1. #!/bin/bash
  2. cd /root/
  3. for file in `ls`
  4. do
  5. if [ -d $file ]
  6. then
  7. mkdir /tmp/$file
  8. else
  9. continue
  10. fi
  11. done




6、编写shell脚本,批量建立用户user_00,user_01,...user_100并且所有用户同属于users组;

 


   
   
   
   
  1. #!/bin/bash
  2. for i in `seq 0 1 100`
  3. do
  4. if [ $i -lt 10 ]
  5. then
  6. useradd -g 100 user_0$i
  7. elif [ $i == 100 ]
  8. then
  9. useradd -g 100 user_100
  10. else
  11. useradd -g 100 user_$i
  12. fi
  13. done


你可能感兴趣的:(shell基础练习)