Linux 第四节(shell脚本,IF,do,for)

 

Shell脚本

1.批处理式:

2.交互式:

 

脚本声明   #!/bin/bash

脚本注释   #fakba;kb

脚本命令   ls pwd

bash test.sh   //执行test.sh脚本

 

echo "$0"      //脚本名称

echo "$#,$"   //总共接收到了几个参数,这些参数分别是什么

echo "$1,$3,$5"   //分别是我们接收到的第1  3    5参数

 

 

[ -f  /etc/fstab ]   // 判断文件是否存在

echo $?            //查看文件是否存在,1表示不存在,0表示存在

 

[ -d /dev  ]   //判断目录是否存在或者是否是一个目录

echo $?     //查看目录是否存在或者是否是一个目录,1表示不存在,0表示存在

 

&&  //若前面成功,则执行后面的,逻辑与

[ -d /etc ] && echo "ok"    //判断ETC目录存在就在屏幕显示 ok

||    //若前面失败,则执行后面的,逻辑或

[   $user = root ]  || echo "不是他,不是他"  //如果当前登录用户不是root ,则显示不是他

!  //取反值,逻辑非

[ ! $USER = root ]  //判断当前登录用户不是root用户

 

[ `free -m | grep Mem: | awk '{print $4}‘` -lt 1024 ] && echo "Buzu" || echo "chongzu"

//提取以兆为单位的内存空闲值,小于1024就显示不足,大于1024显示充足

 

[ -z $HAHA ]    //判断这个变量是否被使用过

echo $?        //查看判断结果

 

if  [ -e /madia/haha ]    //判断这个文件是否存在

  then

     mkdir  /madia/haha    //新建一个文件

fi

 

ping -c 3 -i 0.2  -w 3 $1 &> /dev/null  

//ping 3次,间隔0.2秒,最长响映时间3秒,将所有输出信息重定向到一个黑洞文件

if [ $? -eq 0 ]

  then

      echo "host $1 is on-line“

  else

     echo "host $1 is off-line"

fi

 

read  -p "Enter:" GRADE   //读取用户输入的信息

if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then

 echo "Excellent"

elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ];then

echo "Pass"

else

echo "Failure"

fi

 

 

read -p "Enter:“ PASSWD

for UNAME in `cat users.txt`

do

id $UNAME &> /dev/null

if [ $? -eq 0 ]

then

echo "$UNAME,Already exist"

else

useradd $UNAME &> /dev/null

echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null    //

fi

done

 

 

 

//检测网络在线

for IP int `cat ip.txt`

do

ping -c 3 -i 0.2  -w 3 $1 &> /dev/null  

if [ $? -eq 0 ] ; then

echo "$IP is on-line"

else

echo "$IP is off-line"

fi

done

 

posted @ 2020-11-18 16:59  稻牛  阅读(482)  评论(0编辑  收藏  举报