首页 > 其他 > 详细

初学者必看的shell编程举例

时间:2014-02-12 04:24:05      阅读:446      评论:0      收藏:0      [点我收藏+]

初学者必看的shell编程举例

1.猜我生日

#!/bin/bash

#猜我生日,作者笑笑,2014-2-9完工

D=0

echo "猜猜我生日吧,我是哪一年"

while true

do

read A

let D++

if [ $A -lt 1993 ]

then

  echo "我有那么老吗?再猜猜看哦! "

elif [ $A -eq 1993 ]

then

  echo "小子,眼力不错嘛?"

  break

else

  echo "我有那么小吗?再猜猜看哦!"

fi

done

2.整人的心理测试题

#!/bin/bash

#整人的心理测试题

echo " ----------------------------------------"

echo "|这是一道高智商的心里测试题,作者xiaoxiao|"

echo " ----------------------------------------"

echo

echo "做题前要有心理准备哦!"

echo "  你被困在一个孤岛上,船只能载一个人,你需要选择"

echo "A 抢船走人"

echo "B 杀死美女抢船走人"

echo "C 留下美女天天云雨"

echo "D 放走美女自己等死"

echo "请您做出选择,并按Enter键确认"

F=0

G="您可尝试做出别的选择"

while [ $F -lt 4 ]

do

 read E

 let F++

case "$E" in

A)

if [ $F -ne 4 ]

then

 echo "禽兽!"

echo "$G!"

else

 echo "禽兽!欢迎下次再来哦!"

fi

B)

if [ $F -ne 4 ]

then

 echo "禽兽不如!"

 echo "$G!"

else

 echo "禽兽不如!欢迎回答笑笑问答!"

fi

;;

C)

if [ $F -ne 4 ]

then

 echo "比禽兽还禽兽!"

 echo "$G"

else

 echo "比禽兽还禽兽!欢迎回答笑笑问答!"

fi

;;

D)

if [ $F -ne 4 ]

then

echo "不但不如禽兽,还是个蠢货!"

echo "$G"

else

echo "不但不如禽兽,还是个蠢货!拜拜哦!"

fi

;;

*)

echo "请您做出正确选择!"

esac

done

echo "那再猜猜我是哪月的吧!"

while true

do

read B

let D++

if [ $B -le 6 ]

then

  echo " 那是一个很炎热的季节!"

elif [ $B -eq 7 ]

then

  echo "没错,我就是七月份的巨蟹座!"

  break

else

  echo "那个季节没有雪花飘落!"

fi

done

echo "想知道我是哪一天的吗?"

while true

do

read C

let D++

if [ $C -lt 15 ]

then

  echo "那天是巨蟹座的尾巴!"

elif [ $C -eq 22 ]

then

  echo "你总共猜了${D}"

  echo "哈哈!1993-07-22就是我的生日,记好了哦!"

  break

else

  echo "那天是狮子做的头!"

fi

done

3.登陆时查看系统状态信息

#!/bin/bash

echo 系统版本

/bin/cat /etc/redhat-release

echo "系统内核"

uname=`uname -r`

echo "kernel $uname on an i686"

echo "本机网卡ip"

ifconfig | grep "inet addr" | awk ‘{print $2}‘ | awk -F: ‘{print $2}‘ | cat -n

echo "交换内存"

free -m | grep Swap | awk ‘{print $2}‘

echo "运行进程数"

allps=`/bin/ps aux| wc -l`

echo "Running Processes:$allps"

echo "登陆用户数"

alluser=`/usr/bin/who | wc -l`

echo "Login users:$alluser"

echo "磁盘利用率"

quota=`df -hT | grep "/$" | awk ‘{print $6}‘`

echo "Usage of / Filesystem:$quota"

4.检查服务是否开启,没开启会自动启动服务

#!/bin/bash

#this is else

A=`/usr/bin/pgrep $1`

if [ "$A" != "" ]

then

   echo $1 is running

else

   echo $1 NOT running

   /sbin/service $1 start

fi

5.简单的整数计算器

#!/bin/bash

#2014-2-9修订版完工

echo " ----------------------------------"

echo "|这是一个简单的整数计算器,作者YUAN|"

echo " ----------------------------------"

echo

while :

do

read -p  "请输入一个整数: " nu

expr $nu + 0 &> /dev/null

if [ $? -eq 0 ]

 then

       echo "第一个数是$nu"

       echo

       break

else

       echo "您输入的$nu不是整数请重新输入"

fi

done

while :

do

read -p  "请输入二个整数: " nu2

expr $nu2 + 0 &> /dev/null

if [ $? -eq 0 ]

 then

       echo "第二个数是$nu2"

       break

else

       echo "您输入的$nu2不是整数请重新输入"

fi

done

echo  "------------------"

echo "|  1.加法          |"

echo "|  2.减法          |"

echo "|  3.乘法          |"

echo "|  4.除法          |"

echo  "------------------"

while :

do

read -p "请输入您想执行的算法:" me

case $me in

       "1")

sum=`expr $nu + $nu2`

echo "$nu+$nu2=$sum"

if [ $? -eq 0 ]

then

exit 0

fi

;;

       "2")

jian=`expr $nu - $nu2`

echo "$nu-$nu2=$jian"

if [ $? -eq 0 ]

then

exit 0

fi

;;

       "3")

chen=`expr $nu \* $nu2`

echo "$nu*$nu2=$chen"

if [ $? -eq 0 ]

then

exit 0

fi

;;

       "4")

chu=`expr $nu / $nu2`

echo "$nu/$nu2=$chu"

if [ $? -eq 0 ]

then

exit 0

fi

;;

* )

echo "请在1234之间做选择!"

esac

done

6.局域网FTP扫描

#!/bin/bash

#局域网IP,MAC地址扫描,作者笑笑,2014-2-11

A=192.168.1.

B=1

while [ $B -lt 255 ]

do

arping -c 1 -w 1 $A$B | grep Unicast | awk ‘{print $4,$5 }‘

let B++

done

7.局域网IP扫描

#!/bin/bash

#这是一个局域IP网扫描脚本

A=192.168.1.

for IP in {10..20}

do

 ping -c 1 -i 0.2 -w 1 ${A}${IP} &> /dev/null

if [ $? -eq 0 ]

then

echo "host ${A}${IP} this is up"

else

echo "host ${A}${IP} this is down"

fi

done

8.局域网IP,MAC地址扫描

#!/bin/bash

#局域网IP,MAC地址扫描,作者笑笑,2014-2-11

A=192.168.1.

B=1

while [ $B -lt 255 ]

do

arping -c 1 -w 1 $A$B | grep Unicast | awk ‘{print $4,$5 }‘

let B++

done

9.for语句批量添加用户

#!/bin/bash

#这是个批量添加用户的脚本

USER=xiao

A=123

for NAME in {1..10}

do

useradd ${USER}$NAME &> /dev/null

echo "${USER}${NAME}${A}" | passwd --stdin ${USER}$NAME &> /dev/null

done

10.whileif语句批量添加用户

#!/bin/bash

#批量添加用户脚本,作者笑笑,2014-2-9

USER=xiao

A=2

while :

do

 useradd ${USER}$A &> /dev/null

 echo "${USER}${A}123" | passwd --stdin ${USER}$A &> /dev/null

 A=`expr $A + 2`

if [ $A -eq 20 ]

then

  exit 0

fi

done

11.while批量添加用户

#!/bin/bash

#批量添加用户脚本,作者笑笑,2014-2-9

USER=xiao

A=2

while [ $A -le 20 ]

do

 useradd ${USER}$A &> /dev/null

 echo "${USER}${A}123" | passwd --stdin ${USER}$A &> /dev/null

 A=`expr $A + 2`

done

12.计算器

#!/bin/bash

#xiaoxiao

echo 欢迎使用笑笑计算器

echo ‘请用 + - \* / 来做运算

which :

do

read A

B=$(expr $A)

  echo "您计算的结果为$B"

done


本文出自 “飞翔的梦” 博客,请务必保留此出处http://xiaoyixiao.blog.51cto.com/8177705/1358218

初学者必看的shell编程举例

原文:http://xiaoyixiao.blog.51cto.com/8177705/1358218

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!