Shell---第四天
2021/11/4 7:10:10
本文主要是介绍Shell---第四天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 使用case实现成绩优良中差的判断
[root@localhost ~]# vim score.sh #!/bin/bash read -p "请输入成绩:" score case $score in [0-5][0-9]) echo "差!" ;; 6[0-9]) echo "中" ;; [7-8][0-9]) echo "良" ;; 9[0-9]|100) echo "优!" ;; esac
测试:
[root@localhost ~]# sh score.sh 请输入成绩:40 差! [root@localhost ~]# sh score.sh 请输入成绩:65 中 [root@localhost ~]# sh score.sh 请输入成绩:99 优!
2. for创建20用户
用户前缀由用户输入
用户初始密码由用户输入
例如:test01,test10
[root@localhost ~]# vim uname.sh #!/bin/bash read -p "请输入用户前缀:" prefix read -p "请输入用户密码:" pas for i in {1..20} do user=$prefix$i password=$pas$i; if ! id -u $user &> /dev/null then useradd $user echo $password | passwd --stdin $user &> /dev/null else echo "用户已存在!" fi done
测试:
[root@localhost ~]# sh uname.sh 请输入用户前缀:CHQ 请输入用户密码:123456 [root@localhost ~]# cat /etc/passwd | grep CHQ* CHQ1:x:1019:1019::/home/CHQ1:/bin/bash CHQ2:x:1020:1020::/home/CHQ2:/bin/bash CHQ3:x:1021:1021::/home/CHQ3:/bin/bash CHQ4:x:1022:1022::/home/CHQ4:/bin/bash CHQ5:x:1023:1023::/home/CHQ5:/bin/bash CHQ6:x:1024:1024::/home/CHQ6:/bin/bash CHQ7:x:1025:1025::/home/CHQ7:/bin/bash CHQ8:x:1026:1026::/home/CHQ8:/bin/bash CHQ9:x:1027:1027::/home/CHQ9:/bin/bash CHQ10:x:1028:1028::/home/CHQ10:/bin/bash CHQ11:x:1029:1029::/home/CHQ11:/bin/bash CHQ12:x:1030:1030::/home/CHQ12:/bin/bash CHQ13:x:1031:1031::/home/CHQ13:/bin/bash CHQ14:x:1032:1032::/home/CHQ14:/bin/bash CHQ15:x:1033:1033::/home/CHQ15:/bin/bash CHQ16:x:1034:1034::/home/CHQ16:/bin/bash CHQ17:x:1035:1035::/home/CHQ17:/bin/bash CHQ18:x:1036:1036::/home/CHQ18:/bin/bash CHQ19:x:1037:1037::/home/CHQ19:/bin/bash CHQ20:x:1038:1038::/home/CHQ20:/bin/bash
3. for ping测试指网段的主机
网段由用户输入,例如用户输入192.168.128 ,则ping 192.168.128.10 — 192.168.128.20
UP: /tmp/host_up.txt
Down: /tmp/host_down.txt
[root@localhost ~]# vim forping.sh #!/bin/bash read -p "请输入网段:" ip for i in {10..20} do IP="$ip"."$i" echo $IP if ping -c 1 $IP &> /dev/null then echo "$IP is up " >> /tmp/host_up.txt else echo "$IP is down " >> /tmp/host_down.txt fi done
测试:
[root@localhost ~]# sh forping.sh 请输入网段:192.168.128 192.168.128.10 192.168.128.11 192.168.128.12 192.168.128.13 192.168.128.14 192.168.128.15 192.168.128.16 192.168.128.17 192.168.128.18 192.168.128.19 192.168.128.20 [root@localhost ~]# cat /tmp/host_down.txt 192.168.128.10 is down 192.168.128.11 is down 192.168.128.12 is down 192.168.128.13 is down 192.168.128.14 is down 192.168.128.15 is down 192.168.128.16 is down 192.168.128.17 is down 192.168.128.18 is down 192.168.128.19 is down 192.168.128.20 is down
4. 使用for实现批量主机root密码的修改
成功或失败都必须记录
提示:主机IP存放在一个文件中
SSH:实现公钥认证,执行远程中主机命令
实现公钥认证
ssh-keygen 在用于管理的主上生成密钥对
ssh-copy-id -i 192.168.2.3
[root@localhost ~]# vim ssh.sh #!/bin/bash ssh-keygen -f /root/.ssh/id_rsa -P '' -q &>/dev/null for ip in `cat ipfile` do echo $ip ssh-copy-copy-id root@$ip done for ip in `cat ipfile` do echo $ip ssh root@ip "echo redhat | passwd --stdin root" &>/dev/null if [ "$?" -eq 0 ];then echo "host $ip successfully update passwd" else echo "host $ip error update passwd" fi done
这篇关于Shell---第四天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求