for练习脚本

1、判断/var/目录 下所有文件的类型

[root@centos8 ~]#cat for_filetype.sh 
#!/bin/bash
#Version:                 1.1
#**********************************************************************
GREEN='\e[1;32m'
END='\e[0m'
DIR=/var
cd ${DIR}
for FILE in `find`;do
        if [ -f ${FILE} ] ;then
                echo -e "${GREEN}${FILE} 是普通文件${END}"`
        elif [ -d ${FILE} ] ;then
                echo -e "${GREEN}${FILE} 是目录文件${END}"
        elif [ -b ${FILE} ];then
                echo -e "${GREEN}${FILE} 是块设备文件${END}"
        elif [ -c ${FILE} ];then
                echo -e "${GREEN}${FILE} 是字符设备文件${END}"
        elif [ -h ${FILE} ] ;then
                echo -e "${GREEN}${FILE} 是符号链接文件${END}"
        elif [ -p ${FILE} ] ;then
                echo -e "${GREEN}${FILE} 是管道文件${END}"
        elif [ -s ${FILE} ] ;then
                echo -e "${GREEN}${FILE} 是套接字文件${END}"
        fi
done

2、添加10个用户user1-user10, 密码为8位随机字符

[root@centos8 ~]#cat useradd.sh 
#!/bin/bash
#Version:                 1.1
#**********************************************************************
#Author:                  meng
#Date:                    2020-08-13
#FileName:                useradd.sh
#URL:                     
#Description:             The test script
#Copyright(C):            2020 All rights reserved
#*********************************************************************
for i in {1..10};do
        useradd user${i}
        PASSWORD=`cat /dev/urandom | tr -dc '[[:alnum:]]'|head -c8`
        echo ${PASSWORD} |passwd --stdin user${i} &> /dev/null
        echo user${i}${PASSWORD} >>/data/user.log
done

3、/etc/rc.d/rc3.d目录 下分别有多个以K开头和以S开头的文件;分别读取每个文件,以K开头的输出为文件加stop,以S开头的输出为文件名加start,如K34filename stop S66filename start

[root@centos8 ~]#cat for_file.sh 
#!/bin/bash
#Version:                 1.1
#**********************************************************************
DIR=/etc/rc.d/rc3.d
for i in `ls ${DIR}`;do
        if [[ ${i} =~ ^S  ]] ;then
                mv ${i} ${i}\tstart
        elif [[ ${i} =~ ^K ]];then
                mv ${i}  ${i}\tstop
        fi
done

4、编写脚本,提示输入正整数n的值,计算1+2+…+n的总和

[root@centos8 ~]#cat sum.sh 
#!/bin/bash
#Version:                 1.1
#**********************************************************************
read -p "请输入想要求和的数字:" NUM
if [[ ${NUM} =~ ^[0-9]+ ]] ;then
        for ((sum =0,i=1;i<=${NUM};sum+=i,i++));do
                true
        done
        echo ${sum}
else
        echo "输入错误"
fi

5、计算100以内所有能被3整除的整数之和

[root@centos8 ~]#cat for_sum.sh 
#!/bin/bash
#Version:                 1.1
#**********************************************************************
sum=0
for i in {1..100};do
        [ $[${i}%3] -eq 0 ] && let sum+=i
done
echo ${sum}

6、编写脚本,提示请输入网络地址,如192.168.0.0, 判断输入的网段中主机在线状态

[root@centos8 ~]#cat IP.sh 
#!/bin/bash
#Version:                 1.1
#**********************************************************************
read -p "请输入IP:" IP
ping -c1 -w1 ${IP} >> /dev/null && echo "${IP}在线" || echo "${IP}不在线"

7、打印九九乘法表

[root@centos8 ~]#cat 9x9.sh 
#!/bin/bash
#Version:                 1.1
#**********************************************************************
for i in {1..9};do
        for j in `seq ${i}`;do
                echo -e "${j}x${i}=$[j*1]\t\c"
        done
        echo
done

8、在/testdir目录 下创建10个htm|文件文件名格式为数字N (从1到10)加随机8个字母,如:1AbCdeFgH.html

[root@centos8 ~]#cat create_file.sh 
#!/bin/bash
#Version:                 1.1
#**********************************************************************
mkdir -p /testdir
cd testdir
for i in {1..10};do
        ALPHA=`cat /dev/urandom |tr -dc '[[:alpha:]]'|head -c8`
        touch ${i}${ALPHA}.html
done

9、打印等腰三角形

[root@centos8 ~]#cat triangle.sh
#!/bin/bash
#Version:                 1.1
#**********************************************************************
read -p "请输入三角形的行数:" NUM
for((i=1;i<=NUM;i++));do
	for((k=0;k<=NUM-i;k++));do
		echo -e ' \c'
	done
	for((j=1;j<=2*i-1;j++));do
		echo -e '*\c'
	done
	echo
done

10、 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了-一个。 第二天早上又将剩下的桃子
吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零-一个。 到第10天早上想再吃时,只
剩下一一个桃子了。求第一天共摘了多少?

[root@centos8 ~]#cat monkey.sh 
#!/bin/bash
#Version:                 1.1
#**********************************************************************
sum=1
for i in {1..9};do
	let sum=(sum+1)*2
done
echo $sum
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值