shell基础练习

shell基础练习

 


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

 

 

#!/bin/bash
##RANDOM随机函数,100取余就可以获得1-100的随机整数
n=$[$RANDOM%100]
while :
do
read -p "请输入一个1-100间的整数:" n1
n2=`echo $n1|sed 's/[0-9]//g'`
if [ ! -z $n2 ]
then
    echo "你输入的不是1-100的整数!"
    continue
   fi
if [ $n1 -gt 100 ] || [ $n1 == 0 ]
then
    echo "请输入1-100的整数!"
    continue
    fi
if [ $n1 == $n ]
then 
   echo "你猜对了!"
   break
elif [ $n1 -gt $n ]
then 
   echo "你输入的数字太大了!"
   continue
else
    echo "你输入的数字太小了!"
    continue
fi
done


shell基础练习_第1张图片
2、编写shell脚本,打印乘法口诀表

 

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


shell基础练习_第2张图片
3、编写shell脚本,计算1-100的和

 

#!/bin/bash
for i in `seq 1 100`
do
  j=$[$j+$i]
done
echo $j


shell基础练习_第3张图片

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

 

#!/bin/bash
while :
do
read -p "请输入一个正整数: " n
if echo $n |grep -q '[^0-9]'
then
    echo "你没有输入一个正整数!" 
    continue
fi
if [ $n -lt 1 ]
then
    echo "你没有输入大于1的数!" 
    continue
fi
for i in `seq 1 $n`
do
  j=$[$j+$i]
done
echo $j
exit
done


shell基础练习_第4张图片
5、编写shell脚本,把/root/目录下的所有目录(只需要一级)拷贝到/tmp/目录下;

 

#!/bin/bash
cd /root/
for file in `ls`
do
  if [ -d $file ] 
  then 
     mkdir /tmp/$file
  else
     continue
   fi
done


shell基础练习_第5张图片

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

 

#!/bin/bash
for i in `seq 0 1 100`
do
 if [ $i -lt 10 ]
 then
    useradd -g 100 user_0$i
 elif [ $i == 100 ]
 then
    useradd -g 100 user_100
 else
    useradd -g 100 user_$i
 fi 
done


shell基础练习_第6张图片

你可能感兴趣的:(shell笔记备存)