shell应用示例

shell 应用示例

项目一:用户建立脚本

• 执行users_create.sh userlist passlist
• 建立userlist列表中的用户
• 设定userlist列表中的密码为passlist列表中的密码
• 当脚本后面跟的文件个数不足两时,报错
• 当文件行数不一致时报错
• 当文件不存在时报错
• 当用户存在时报错
tips:
users.txt

1.先判断有没有权限创建用户
一般情况下,普通用户不能创建用户。如果不是超级用户,输出红色的信息,并且推出 exit 1:必须是root用户。
2.用户名文件和密码文件信息时一一对应的
(1)输入的参数是否为两个参数,如果不是两个打印红色的错误信息;(颜色自行添加,调用函数+字符串)
echo $* 打印参数
echo $# 显示参数个数
(2)判断用户文件和密码文件是否存在
(保险起见,确保存在+普通文件)
(3)判断用户文件行数和密码文件行数是否一致
获取文件内容的行数 wc -l users.txt | cut -d ’ ’ -f 1
若两者不相等,红色报错信息行数不匹配;
&& 前面的成立执行内容
|| 前面的不成立执行内容
做的事情内容需要用花括号括起来。
(4)不满足条件的退出使用exit 1 正常退出是exit 0
上述所有可能出现问题的分析结束,下面开始其创建用户。
3.创建用户设置密码
(1)最大的行数是 用户文件内的行数
(2)循环序列使用到了seq
(3)循环过程所做的事情
拿出来第一行,sed -n 1p users.txt
(4)花括号括起来,表示这是一个变量
(5)创建用户成功,修改密码
echo $password | passwd --stdin $username

项目二:自动登录脚本

自动应答的应用场景:
比如说,ssh连接时,yes + 输入密码
题目:
执行auto_ssh.sh 172.25.254.100 westos
172.25.254.100为ip
westos 为密码
执行脚本后自动登陆172.25.254.100并保持登陆
tips:
(1)安装自动应答expect命令
(2)开头写的是自动应答的脚本
#!/usr/bin/expect
(3)spawn ssh root@$ip,通过spawn监控这条命令有没有问我问题。
(4)expect 第一次连接的时候,出现XXXX字符串,应答信息yes。想做什么事情在分号后面写。
(5)持久连接远程服务器 interact
(6)加上执行权限,直击执行
(7)通过索引的方式获取参数,一般语言索引是从0开始!expect 获取脚本后面传递的参数和bash 环境不一样!
(8)实现问我的东西,自动应答!
code:

还有两个问题没有讲,下周六早晨讲。
简单的没有问题,有问题的下周讲。
今天/这周作业:
1.搭建samba服务器端共享文件
2.总结一大堆作业。课后五个作业。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值