Linux 脚本编程题库

1.查找某文件是否存在(某文件名以参数形式传递),如果文件存在,则修改文件权限为用户主可读写,其他用户无任何权限,否则返回文件不存在!

#!/bin/bash

#脚本功能为:查找某文件是否存在(以参数形式),若存在,则将其权限设置为用户主可读可改,其他人无任何权限。否则则返回无此文件的信息

if [ -e $1 ]
then 
	chmod 600 $1
	echo "$1 权限已设置为用户主可读可改,其他人无任何权限"
else
	echo "$1 文件不存在!" 
fi

2.输入一个年份,判断此年份是否为闰年?

闰年(能被4整除却不能被100整除或能被400整除的年份就是闰年!)

#!/bin/bash

#脚本功能为输入一个年份,判断此年份是否为闰年?闰年(能被4整除却不能被100整除或能被400整除的年份就是闰年!)

read -p "please input a year:" year
let "leap=$year%4==0&&$year%100!=0 || year%400==0"
if [ $leap -eq 0 ]
then
	echo "$year 不是闰年!"
else
	echo "$year 是闰年!"
fi

3.输入一个大于0的整数,计算从0到这个数的和

#!/bin/bash

#脚本功能为输入一个大于0的整数,计算从0到这个数的和

read -p "please input a number:" number
sum=0
int=1
for ((;int<=number;int++))
do
	let "sum=sum+int"
done
#while(( $int<=$number ))
#do
#	let "sum=sum+int"
#	let "int++"
#done
echo "从 0 到 $number 的和为: $sum"

4.测试 192.168.1.* 整个网段中哪些主机处于开机状态,哪些主机处于关机状态
IP地址最后一位的有效范围是1~254。实际范围为0~255,但0、255都是系统保留的,不能作为“有效”ip使用。其中0是保留的表示网络的,而255是当前网络的广播地址,故ip最后一位的范围是1~254。

#!/bin/bash

for i in {1..254} #"..表示连续"
do	
	ping -c 2 -i 0.3 -W 1 192.168.1.$i &>>/home/Ubuntu/桌面/log.txt
	if [ $? -eq 0 ]
	then
		echo "192.168.1.$i is up"
	else
		echo "192.168.1.$i is down"
	fi
done

5.查找给定的用户是否在系统中工作(以参数形式传递),如果在则输出当天日期,再打印hello,否则打印waiting

#!/bin/bash

who | grep "^$1" >/dev/null
a=$?
if [ $a -eq 0 ] #if who | grep "^$1"
then 
	date
	echo "hello,$1"
else
	echo "waiting ..."
fi

6.编写脚本,CP文件并显示进度条

#!/bin/bash
# 编写脚本,cp文件,显示进度条

jindutiao(){
while :
do
     echo -n '#'
     sleep 0.2
done
}
jindutiao &
#echo "********* $0 $! $$ ***********"
cp -a $1 $2
echo ""
echo "拷贝完成"
#killall $0 会提示找不到进程
#kill $$ jindutiao & 还在后台执行,会一直输出‘#’
kill $!

7.编写脚本,持续ping某一个ip地址并打印时间戳,然后将输出的内容保存到日志文件

#!/bin/bash

while [ true ]
do
	echo "_________________________________________" >> /data/pingQX_log.txt
	date >> /data/pingQX_log.txt
	ping -c 2 39.107.207.235 >> /data/pingQX_log.txt
	echo "" >> /data/pingQX_log.txt
	echo "" >> /data/pingQX_log.txt
	echo "" >> /data/pingQX_log.txt
	sleep 1
done

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值