Shell for语句实战案例

for语句实现批量ping ip是否存活


#!/bin/bash
for i in `cat ip_list.txt`
do
       ping -c1 $i -w2
	   if [ $? -eq 0 ];then
         echo $i >>success_list.txt
        else
         echo $i >>failed_list.txt
       fi 
done

 

for语句批量添加用户


[root@www ~]# cat create_user.sh 
#/bin/bash
user_file="user.txt"

#如果用户文件存在就备份该文件
if [ -f $user_file  ];then
	echo -e "\033[32m${user_file} exit!backup file,rename ${user_file}-$(date +%F).bak \033[0m"
	\cp $user_file  ${user_file}-$(date +%F).bak
fi

echo  "User Password" >> $user_file
echo "---------------">> $user_file

for user_name in user{1..5}
do
  if ! id $user_name &>/dev/null;then    #if语句判断判断用户是否存在
	passwd=$(echo $RANDOM |md5sum |cut -c 1-8)   #产生用户密码然后赋值给变量passwd
	useradd $user_name
        echo $passwd | passwd --stdin $user_name &>/dev/null
        echo "$user_name   $passwd">>$user_file
        echo -e "\033[32mCreate user successful!\033[0m"
  else
        echo -e "\033[32m$user_name aleardy Exists! "
   fi        
done



[root@www ~]# ./create_user.sh 
user.txt exit!backup file,rename user.txt-2020-05-13.bak 
Create user successful!
Create user successful!
Create user successful!
Create user successful!
Create user successful!
[root@www ~]# cat user.txt
User Password
---------------
user1   b2f869c2
user2   02a7c788
user3   9fa9b144
user4   bf42fc47
user5   3e4073e0

 

for语句实现批量压缩


[root@www tmp]# ls
file1  file2  file3  file4  file5  file6

#!/bin/bash
cd /tmp
for FILE in `ls`   #这个地方也可以写成$(ls),即将ls命令结果当作for的循环池
do
        tar -zcf ${FILE}.tar.gz $FILE
done

[root@www tmp]# ls
file1         file2         file3         file4         file5         file6
file1.tar.gz  file2.tar.gz  file3.tar.gz  file4.tar.gz  file5.tar.gz  file6.tar.gz

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值