#9.判断/root/hosts是否是存在并且是普通文件,如果不存在则新建一个,如果已经存在,则追加写入当前时间到此文件中 path="/root/hosts" if [ -f $path ] then date >> $path echo"是文件,已追加" else touch$path echo"没有文件,已新建" fi
#10.判断当前用户是否为root,如果不是则打印非root账号,是的话就执行ifconfig查看 网卡信息($USER获取当前用户) if [ $USER == "root" ] then ifconfig elseecho"$USER" fi
#12.编写脚本判断mysql是否正常启动(端口号3306,查看端口netstat -nltp,然后grep过 滤返回行数,判断行数是否大于0) port=`netstat -nltp | grep -c "3306"` if [ $port -gt 0 ] then echo"MySQL服务已启动" else echo"MySQL服务未启动" fi
#13.首先显示当天日期, 然后查找给定的用户是否在系统中工作(cat /etc/passwd)。 如果在系统中,就输出一条欢迎语句(例如 hello,root!);如果不在系统中,就 输出一条语句(waiting for root!) date read -p "请输入要查找的用户:" usr n=`cat /etc/passwd | grep -c $usr` if [ $n -gt 0 ] thenecho"hello,$usr!" elseecho"waiting for $usr!" fi
#14.接受一个参数,若给定参数不是目录, 则给出提示信息; 否则使用 ls -l 命令列出该目录下的内容,并输出有多少个子目录(d 开头),多少 个普通文件(-开头)。显示示例如下: 目录的数量:16 文件的数量:25 read -p "请输入一个路径:" path if [ -d $path ] then ls -l $path d=`ls -l $path | grep -c "^d"` f=`ls -l $path | grep -c "^-"` echo"目录数量:$d" echo"文件数量:$f" else echo"'$path'不是目录" fi
#1.写一个循环,输出20-40 for i in `seq 20 40` do echo$i done
#2.从1-50的单数,倒序 for i in `seq 50 -1 1` do if [ $[i%2] -ne 0 ] thenecho$i fi done
#3.计算并显示 1 到 100 之间的奇数之和 for i in `seq 1 100` do if [ $[i%2] -ne 0 ] then sum=$[sum+$i] fi done echo$sum
#5.有若干只鸡兔同在一个笼子里,从上面数有35个头,从下面数有94只脚。问笼中各有多少只鸡和兔? ck=35 rb=0 leg=70 while [ $leg -ne 94 ] do ck=$[ck-1] rb=$[rb+1] leg=$[ck*2+rb*4] done echo"$ck只鸡和$rb只兔"
#6.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前 一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 n=1 for i in `seq 1 9` do n=$[(n+1)*2] done echo"第一天共摘了$n个桃"
#7.创建用户组wanmei,批量建立用户wm1到wm9,用户属于wanmei组,创建完成查看/etc/group和/etc/passwd文件 g="wanmei" u="wm" groupadd $g for i in `seq 1 9` do u=wm$i useradd -g $g$u done cat /etc/group /etc/passwd #8.删除上面的用户和用户组 g="wanmei" u="wm" for i in `seq 1 9` do u=wm$i userdel $u done groupdel $g
#9.实现传入一个目录作为参数,如果传入的不是目录则提示不是目录,如果是目录则将该目录下所有的普通文件的文件名都罗列出来 read -p "请输入一个目录:"dir if [ ! -d $dir ] then echo"不是目录" else names=`ls$dir` echo"$names" for i in$names do if [ -d $dir/$i ] #必须要带绝对路径 then echo"$i" fi done fi
#10.猜数字游戏:电脑随机产生一个100以内的数字(1-99),通过每次键盘输入来猜数字,输入的小了就提示往大猜,输入大了就提示往小里猜, 直到输入正确数字(通过$RANDOM获取随机数) n=$[RANDOM%99+1] read -p "现在生成了一个1-99的随机数,请输入你猜的数字:" num whiletrue do if [ $num -eq $n ] then echo"恭喜你猜对了!" break elif [ $num -lt $n ] then read -p "猜错了,往大猜:" num elif [ $num -gt $n ] then read -p "猜错了,往小猜:" num else read -p "输入不合法,请重新输入:" num fi done