shell第二次作业

本文介绍了如何使用Linuxshell脚本for循环执行自动化任务,包括根据用户输入创建20个账户,测试特定网段主机的连通性并将结果分别记录,以及通过ssh-keygen和ssh-copy-id实现多台主机间的免密登录并修改root密码。

一、编写脚本for1.sh使用for循环创建20账户,账户名前缀由用户从键盘输入,账户初始密码由用户输入。

1、创建脚本for1.sh

[root@localhost ~]# vim for1.sh
2、编辑脚本内容

3.运行 

[root@localhost ~]# bash for1.sh
请用户输入账户名的前缀:test
请输入账户的密码:123456 

4.查看最后20行的内容

二、编写脚本for2.sh,使用for循环,通过ping命令测试网段主机的连通性,网段前三段由用户输入,将可以ping通的主机ip地址写入到/tmp/host_up.txt文件中,不能ping通的主机ip地址写入到/tmp/host_down.txt文件中
 1、创建脚本for2.sh
[root@localhost ~]# vim for2.sh

3、运行

请输入网段:192.168.220
up ip:
192.168.220.125 is up
192.168.220.126 is up
192.168.220.127 is up
192.168.220.128 is up
192.168.220.129 is up
192.168.220.130 is up
192.168.220.131 is up
192.168.220.132 is up
192.168.220.133 is up
192.168.220.134 is up
192.168.220.135 is up

三、使用for循环实现批量主机root密码的修改

1、使用ssh-keygen命令建立密钥对

 

 

2、多台主机间通过ssh-copy-id进行免密登录

(1)将ip写入ip.txt中

(2)通过ssh-copy-id把本地的ssh公钥文件安装到远程主机对应的账户下

 

3、编写for3.sh,通过for循环登陆主机修改对方root账户密码

(1)创建脚本for3.sh

[root@localhost ~]# vim for3.sh

(2)编辑脚本内容

(3) 运行

 

 

### 关于 Shell 编程第二部分作业的相关内容 Shell 脚本编程是一种强大的工具,用于自动化任务和管理 Linux/Unix 系统中的资源。对于学习者来说,掌握基础命令之后,深入理解更复杂的逻辑控制结构、函数定义以及错误处理等内容是非常必要的。 #### 基础回顾与扩展 在第一部分的学习中,通常会涉及变量赋值、条件判断 (`if...else`) 和循环语句 (`for`, `while`)[^1]。这些构成了编写简单脚本的基础框架。而在第二部分内容里,则更加注重实际应用能力提升和技术细节优化: - **高级输入输出重定向** 学习如何通过管道(`|`)连接多个命令来实现复杂的数据流传输;了解文件描述符的概念及其作用[^2]。 - **数组操作** 使用 Bash 数组存储多维数据并对其进行遍历访问等操作可以极大提高效率。例如创建一个简单的索引列表: ```bash #!/bin/bash fruits=("apple" "banana" "cherry") echo "${fruits[@]}" # 输出所有元素 ``` - **函数定义与调用** 将重复使用的代码封装成独立模块以便多次复用。下面展示了一个计算两个整数之和的例子: ```bash add_numbers() { local num1=$1 local num2=$2 sum=$((num1 + num2)) echo "$sum" } result=$(add_numbers 5 7) echo "Result is $result." ``` - **异常捕获机制** 利用 trap 命令设置信号处理器,在程序意外终止前完成清理工作或者记录日志信息。比如当用户按下 Ctrl+C 中断进程时触发特定动作: ```bash cleanup_on_exit() { rm -f /tmp/tempfile.txt exit 0 } trap 'cleanup_on_exit' INT TERM EXIT ``` 以上只是其中一部分知识点概述,具体实践还需结合真实场景不断练习巩固所学技能。 ### 示例项目建议 为了更好地理解和运用上述理论知识,这里给出几个适合初学者尝试的小型工程项目作为参考方向: 1. 开发一款简易计算器应用程序支持加减乘除四则运算功能; 2. 构建批量文件改名工具满足日常办公需求; 3. 设计定时备份重要文档至远程服务器方案保障信息安全。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值