养成日记6

Shell脚本
脚本声明
#!bin/bash
脚本注释
#功能说明,参数介绍
脚本命令
执行命令(动作)

文件
一般、目录、设备(块)、链接、管道1
逻辑
1:存在
2:一般
3:可以写入
整数
字符串
判断用户的参数
测试语句格式: [ 条件表达式 ],条件表达式两边都有空格
#[ -e /dev/fstabl ]
#echo $?
1,错误,文件不存在
#[ -e /etc/fstabl ]
#echo $?
0,正确,文件存在
逻辑语句
&& 与 成功-->执行
|| 或 失败-->执行
! 非 取反值
整数运算符
-eq 是否等于
-ne 是否不等于
-gt 是否大于
-lt 是否小于
-le 是否小于或等于
-ge 是否大于或等于
流程控制语句
if条件测试语句
单分支、双分支、多分支
单分支
#!bin/bash
#判断/dev/haha目录是否存在,不存在就创建
if [ ! -d /dev/haha ]
then
mkdir -p /dev/haha
fi
双分支
#!/bin/bash
#
ping -c 3 -i 0.2 -w 3 $1 &> /dev/null #c次数,i间隔时间,w等待时间
if [ $1 -eq 0 ]
then
echo "$i is On-line"
else
echo "$i is Off"

#bash haha.sh 127.0.0.1
多分支
#!bin/bash
#
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 #else兜底,以上条件不满足则输出Fail
echo "Fail"
fi
for循环语句,根据范围循环
批量创建用户
#!bin/bash
#
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
批量判断主机是否在线
#!bin/bash
#
for IP in `cat ip.txt`
do
ping -c 3 -i 0.2 -W 3 $ip &> /dev/null
if [ $? -eq 0 ]
then
echo "$IP is On-line"
else
echo "$IP" is Off
fi
done

 

posted @ 2022-04-24 23:08  侏罗纪野人  阅读(26)  评论(0)    收藏  举报