shell脚本的应用(三)

1.for语句实例
[root@centos01 ~]# vim /root/users.txt
[root@centos01 ~]# cat /root/users.txt
bob
tom
Alice
[root@centos01 ~]# vim uaddfor.sh
[root@centos01 ~]# cat uaddfor.sh
#!/bin/bash
ulist=$(cat /root/users.txt)
for uname in $ulist
do
useradd $uname
echo “123456” | passwd --stdin $uname &> /dev/null
done
[root@centos01 ~]# chmod +x uaddfor.sh
[root@centos01 ~]# ./uaddfor.sh
[root@centos01 ~]# tail -3 /etc/passwd
bob❌1002:1002::/home/bob:/bin/bash
tom❌1003:1003::/home/tom:/bin/bash
alice❌1004:1004::/home/alice:/bin/bash


[root@centos01 ~]# vim udelfor.sh
[root@centos01 ~]# cat udelfor.sh
#!/bin/bash
ulist=$(cat /root/users.txt)
for uname in $ulist
do
userdel -r KaTeX parse error: Expected 'EOF', got '&' at position 7: ulist &̲> /dev/null don…(cat /root/ipadds.txt)
for ip in $hlist
do
ping -c 3 -i 0.2 -W 3 $ip &> /dev/null
if [ $? -eq 0 ]
then
echo “Host $ip is up.”
else
echo “Host $ip is down.”
fi
done
[root@centos01 ~]# chmod +x chkhosts.sh
[root@centos01 ~]# ./chkhosts.sh
Host 172.16.16.1 is down.
Host 172.16.16.22 is down.
Host 172.16.16.220 is down.
Host 192.168.100.10 is up.
4.
[root@centos01 ~]# vim uaddwhile.sh
[root@centos01 ~]# cat uaddwhile.sh
#!/bin/bash
PREFIX=“stu”
i=1
while [ $i -le 20 ]
do
useradd P R E F I X {PREFIX} PREFIXi
echo “123456” | passwd --stdin P R E F I X {PREFIX} PREFIXI &> /dev/null
let i++
done
[root@centos01 ~]# chmod +x uaddwhile.sh
[root@centos01 ~]# ./uaddwhile.sh
[root@centos01 ~]# grep “stu” /etc/passwd | tail -3

[root@centos01 ~]# vim udelwhile.sh
[root@centos01 ~]# cat udelwhile.sh
#!/bin/bash
PREFIX=“stu”
i=1
while [ $i -le 20 ]
do
userdel -r P R E F I X {PREFIX} PREFIXi
let i++
done
[root@centos01 ~]# chmod +x udelwhile.sh
[root@centos01 ~]# ./udelwhile.sh
[root@centos01 ~]# id stu20
id: stu20: no such user


[root@centos01 ~]# vim pricegame.sh
[root@centos01 ~]# cat pricegame.sh
#!/bin/bash
PRICE=$(expr $RANDOM % 1000)
TIMES=0
echo “商品实际价格范围为0-999,猜猜看是多少?”
while true
do
read -p “请输入你猜测的价格数目:” INT
let TIMES++
if [ $INT -eq $PRICE ] ; then
echo “恭喜你答对了,实际价格是 $PRICE”
echo “你总共猜测了 $TIMES 次”
exit 0
elif [ $INT -gt KaTeX parse error: Expected 'EOF', got '#' at position 71: …oot@centos01 ~]#̲ chmod +x price…KEY" in
[a-z] | [A-Z])
echo “您输入的是 字母。”
;;
[0-9])
echo “您输入的是 数字.”
;;
*)
echo “您输入的是 空格、功能键或其他控制字符.”
esac
[root@centos01 ~]# chmod +x hitkey.sh
[root@centos01 ~]# ./hitkey.sh
请输入一个字符,并按Enter键确认:l
您输入的是 字母。
8.
[root@centos01 ~]# vim myprog
[root@centos01 ~]# cat myprog
#!/bin/bash
case “$1” in
start)
echo -n “正在启动sleep服务…”
if sleep 7200 &
then
echo “OK”
fi
;;
stop)
echo -n “正在停止sleep服务…”
pkill “sleep” &> /dev/null
echo “OK”
;;
status)
if pgrep “sleep” &> /dev/null ; then
echo “sleep服务已经启动.”
else
echo “sleep服务已经停止.”
fi
;;
restart)
$0 stop
$1 start
;;
*)
echo “用法: $0 {start|stop|status|restart}”
esac

[root@centos01 ~]# chmod +x myprog
[root@centos01 ~]# ./myprog status
sleep服务已经启动.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell脚本是一种在Unix或Linux系统下编写的脚本语言,用于自动化和批处理任务。以下是几个Shell脚本应用实例: 1. Hello World脚本:这是一个简单的Shell脚本,用于输出"Hello World!"的信息。 ``` #!/bin/bash echo "Hello World!" ``` 这个脚本通过echo命令输出了"Hello World!"的文本。 2. 杀死所有脚本:这个脚本用于通过进程名筛选并杀死所有影响系统负载的进程。 ``` #!/bin/bash ps aux | grep 指定进程名 | grep -v grep | awk '{print $2}' | xargs kill -9 ``` 这个脚本通过ps、grep和kill命令结合使用,找到指定进程名的进程并强制终止。 3. 对信号的处理:这个脚本用于拦截用户通过键盘或kill命令发送过来的信号,实现对信号的处理。 ``` #!/bin/bash trap 'echo "暂停10s"; sleep 10' 2 while : do echo "gogogo" done ``` 这个脚本使用trap命令拦截用户按下Ctrl C键发送的信号,并执行暂停十秒的操作。在这个脚本中,使用了无限循环来不断输出"gogogo"的文本。 这些是Shell脚本的一些应用实例,它们可以用于各种自动化和批处理任务,方便地完成一系列操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [100个实用的 Linux Shell 脚本经典案例](https://blog.csdn.net/qq_27706119/article/details/125812348)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [推荐超详细的5个Shell脚本实例](https://blog.csdn.net/Listen2You/article/details/100592404)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值