2021 年10月31日 星期日 晴
循环语句小实验
for 条件循环
判断用户是否存,否则批量创建清单users.txt账户,并设置密码
#!/bin/bash
read -p “ENTER passwdord: " PASSWD
for UNAME in cat users.txt
do
id $UNAME &> /dev/null
if [
?
−
e
q
0
]
t
h
e
n
e
c
h
o
"
? -eq 0 ] then echo "
?−eq0]thenecho"UNAME , Already exists”
else
useradd
U
N
A
M
E
e
c
h
o
"
UNAME echo "
UNAMEecho"PASSWD" | passwd --stdin KaTeX parse error: Expected 'EOF', got '&' at position 7: UNAME &̲> /dev/null e…UNAME , Create success"
fi
done
结果:[root@linuxprobe ~]# bash addusers.sh
ENTER passwdord: redhat
zhangshan , Create success
lishi , Create success
wangwu , Create success
用ping命令判断主机是否在线,在则online,否者offline
#!/bin/bash
HLIST=$(cat ~/ip.txt)
for IP in $HLIST
do
ping -c 3 -i 0.2 -w 3 $IP &> /dev/null
if [ $? -eq 0 ]
then
echo “Host $IP on-line”
else
echo “Host $IP off-line”
fi
done
结果
[root@linuxprobe ~]# bash chkhost.sh
Host 127.0.0.1 on-line
Host 192.168.3.1 off-line
Host 192.168.3.60 off-line
while 条件循环语句小实验,猜数字
#!/bin/bash
PRICE=$(expr
R
A
N
D
O
M
T
I
M
E
S
=
0
e
c
h
o
=
RANDOM % 100) TIMES=0 echo=
RANDOMTIMES=0echo=“0-99”
while true
do
read -p “input :” INT
let TIMES++
if [ $INT -eq
P
R
I
C
E
]
;
t
h
e
n
e
c
h
o
"
p
e
r
f
,
PRICE ] ; then echo "perf,
PRICE];thenecho"perf,PRICE"
echo “Guess $TIMES”
exit
elif [ $INT -gt $PRICE ] ; then
echo “High”
else
echo “Low”
fi
done
结果
[root@linuxprobe ~]# bash Guess.sh
input :70
High
input :66
High
input :59
High
input :55
Low
input :57
perf,57
Guess 5
case 条件测试语句
用case测试输入的字符类型,小实验
#!/bin/bash
read -p “Input Char Enther :” KEY
case “$KEY” in
[a-z] | [A-Z])
echo “Input Char”
;;
[0-9])
echo “Input Number”
;;
*)
echo “Other”
esac
结果
[root@linuxprobe ~]# bash Guess2.sh
Input Char Enther :4
Input Number
[root@linuxprobe ~]# bash Guess2.sh
Input Char Enther :a
Input Char
[root@linuxprobe ~]# bash Guess2.sh
Input Char Enther :
Other
计划任务服务程序
一次性任务实验 at 用ctrl+d 结束编写计划任务
用非交换的方式执行
echo “systemctl reboot” | at 0:25
at -l 查看一次性计划任务
atrm 计划任务序号
定时任务 crontab
crontab -e 创建一个定时任务
0 23,7 * * 1,3,5 /usr/bin/sync && /usr/sbin/rboot
在每周的1,3,5 晚上11点和早上7点,都要执行一次sync和重启命令。
crontab -l 查看任务
crontab -r 删除任务