shell实操

1、计算从1到100所有整数的和

方法一:

[root@localhost~]#vim test1.sh
#!/bin/bash              
#this is zhengshuhe    
sum=0                  
for i in {1..100}        
do                       
sum=$[$i+$sum]         
done                    
echo $sum               

[root@localhost~] #chmod +x test1.sh      
[root@localhost~]  #./test1.sh             
5050          

方法二:

[root@gcc?~]#vim test7.sh
#!/bin/bash
a=1
sum=0
while [ $a -le 100 ]         
do
sum=$[$sum+$a]
let a++                    
done
echo $sum

[root@gcc ~]#sh test7.sh 
5050      

2、提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

方法一:

[root@gcc ~]#vim demo3.sh 
#!/bin/bash
read -p "请输入1-100之间的一个整数:" a
sum=0
for ((i=1;i<=a;i++))
do
sum=$[$sum+$i]
done
echo "从1到$i的整数和为:$sum"

[root@gcc ~]#sh demo3.sh 
请输入1-100之间的一个整数:3
从1到4的整数和为:6

方法二:

[root@gcc ~]#vim demo3.sh 
#!/bin/bash
sum=0
read -p "请输入1-100之间的一个整数:" a
while [ $a -ge 1 ]
do
sum=$[$sum+$a]
let a--
done
echo "从1到$a的整数和为

[root@gcc ~]#sh demo3.sh 
请输入1-100之间的一个整数:3
从1到0的整数和为:6

3、求从1到100所有整数的偶数和、奇数和

方法一:

[root@gcc ~]#vim demo4.sh
#!/bin/bash
a=0
b=0
for i in {0..100..2}
do
a=$[$a+$i]
done
echo "所有整数和为:$a"
for i in {1..100..2}
do
b=$[$b+$i]
done
echo "所有奇数和为:$b"

[root@gcc ~]#sh demo4.sh 
所有整数和为:2550
所有奇数和为:2500

方法二:

[root@gcc ~]#vim demo4.sh

#!/bin/bash
jishuhe=0
oushuhe=0
i=1
p=0
while [ $i -le 100 ] 
do
jishuhe=$[$jishuhe+$i]
let i=$[$i+2]
done
echo "所有奇数和为:$jishuhe"

while [ $p -le 100 ]
do
oushuhe=$[$oushuhe+$p]
let p=$[$p+2]
done
echo "所有偶数和为:$oushuhe"

[root@gcc ~]#sh demo4.sh 
所有奇数和为:2500
所有偶数和为:2550

4、逛淘宝选购商品脚本,每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150#元,袜子50元),每次选购完或不买都会提示用户是否继续逛下一家商店,如果不再继续逛的话进行购物车结算总额

#!/bin/bash
#shang ping xuan gou
echo "================================="
echo "------WELCOME-GCC-MARKET---------"
echo "=================================" 
read -p "您是否进入商店进行购物?(yes/no)" INT
 while [ $INT = "yes" ]
 do
   echo "1.衣服500元"
   echo "2.裤子400元"
   echo "3.鞋子350元"
   echo "4.帽子150元"
   echo "5.袜子50元"

   read -p "请问你要购买哪种商品?(请输入序号)" node
   read -p "是否继续购买?(yes/no)" INT
 case $node in
 1)
 let cost+=500
 echo "消费"$cost"元" 
 ;;
 2)
 let cost+=400
 echo "消费"$cost"元"
 ;;
 3)
 let cost+=350
 echo "消费"$cost"元" 
 ;;
 4)
 let cost+=150
 echo "消费"$cost"元" 
 ;;
 5)
 let cost+=50
 echo "消费"$cost"元"
 ;;
 *)
  echo "输入错误,请重输!"
 esac
 if [ $INT = "no" ]
 then
 break
 fi
done
echo "您本次逛街总共花费"$cost"元" 

5、批量添加用户

方法一:

[root@gcc ~]#touch user.txt     #首先创建一个包含所有需要创建账号的用户名
[root@gcc ~]#vim user.txt 
wangyi             #注意一个姓名之间不要有空格
wanger
wangsan
wangsi

[root@gcc ~]#vim test2.sh      #编辑脚本
#!/bin/bash
#pi liang tianjia yonghu
a=$(cat /root/user.txt)        #定义变量a,使a遍历user.txt,注意遍历的文件要使用绝对路径
for i in $a                    #定义变量i,使i使用$a中的内容
do
useradd $i                  #添加用户,用户名从变量i中获取
echo "123123" | passwd --stdin $i     #给用户添加密码,密码从$i中获取
echo "$i添加成功!"
done

(优化脚本:echo "123123" | passwd --stdin $i &> /dev/null)

方法二:

[root@gcc ~]#vim test5.sh
#!/bin/bash
i=1                      #用户从1开始
while [ $i -le 20 ]      #当小于等于20时一直执行while循环,直到20停止循环
do    
useradd stu$i
echo "123123" | passwd --stdin stu$i &> /dev/null
echo "stu$i添加成功!"
let i+=1            #用户每次+1进行添加
done

根据IP地址,批量检查主机状态

[root@gcc ~]#touch ipadds.txt
[root@gcc ~]#vim ipadds.txt 
[root@gcc ~]#vim ipadds.txt      #在文本中添加需要检查的主机的IP地址
192.168.200.1
192.168.200.2
192.168.200.3
192.168.200.4
192.168.200.5

[root@gcc ~]#vim test3.sh       #编写脚本
#!/bin/bash
a=`cat /root/ipadds.txt`        #遍历ipadds.txt文件
for i in $a                     #定义变量i从$a中取值
do
ping -c 3 -i 0.2 -W 3 $i &> /dev/null     #开始ping检测,-c是ping的次数,-i是每次ping的时间,-w是ping的时候延时时间
if [ $? -eq 0 ]              #判断语句,当使用$?返回0时,说明上面ping成功
then
echo "$i开启!"
else
echo "$i关闭!"
fi
done

6、猜商品价格

[root@gcc ~]#vim test6.sh
#!/bin/bash
a=$[$RANDOM  % 1000]         
c=0                          
while [ $b -lt 1 ]     
do
let c++                      
read -p "请输入商品价格:" i
if [ $i -lt $a  ]
then
echo "猜小了,再来一次。"
elif [ $i -gt $a ]
then
echo "猜大了,再来一次。"
elif [ $i -eq $a ]
then
echo "恭喜,猜对了!"
b=2                      
fi
done
echo "你一共猜了$c次"        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值