位置: 编程技术 - 正文

Shell脚本实现自动输入密码登录服务器(shell脚本 su)

编辑:rootadmin

推荐整理分享Shell脚本实现自动输入密码登录服务器(shell脚本 su),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell脚本实现自动部署,shell脚本 su,shell脚本实现自动截图,shell脚本实现自动化巡检报警发送邮箱,shell脚本实现自动部署,shell脚本实现自动部署,shell脚本实现自动部署,shell脚本实现自动清理超过5m的文件for循环,内容如对您有帮助,希望把文章链接给更多的朋友!

使用Linux的程序员对输入密码这个举动一定不陌生,在Linux下对用户有严格的权限限制,干很多事情越过了权限就得输入密码,比如使用超级用户执行命令,又比如ftp、ssh连接远程主机等等,如下图:

那么问题来了,在脚本自动化执行的时候需要输入密码怎么办?比如你的脚本里有一条scp语句,总不能在脚本执行到这一句时手动输入密码吧。

针对于ssh或scp命令,可能有人会回答是建立信任关系,关于建立ssh信任关系的方法请自行百度Google,只需要两行简单的命令即可搞定,但这并不是常规的解决方案,如果是ftp连接就没辙了,况且,你不可能为了执行某些命令去给每个你要连接的主机都手动建立ssh信任,这已经偏离了今天主题的本意,今天要说的是在脚本里自动输入密码,我们可以想象下,更优雅的方式应该是在脚本里自己配置密码,当屏幕交互需要输入时自动输入进去,要达到这样的效果就需要用到expect。

安装CentOS下安装命令很简单,如下至于Mac用户,可以通过homebrew安装(需要先安装homebrew,请自行Google)

Shell脚本实现自动输入密码登录服务器(shell脚本 su)

测试脚本我们写一个简单的脚本实现scp拷贝文件,在脚本里配置密码,保存为scp.exp如下

注意,第一行很重要,通常我们的脚本里第一行是#!/bin/bash,而这里是你机器上expect程序的路径,说明这段脚本是由expect来解释执行的,而不是由bash解释执行,所以代码的语法和shell脚本也是不一样的,其中set passwd your_passwd设置成你自己的密码,然后执行如下命令执行前确保scp.exp有执行权限,第一个参数为你本地文件,第二个为远程主机的目录,运行脚本如果报错“connect is timeout”,可以把超时设长一点,第二行set timeout 可以设置超时时间,单位是秒。脚本执行效果如下

还能做什么

细心的同学一定发现了,其实expect提供的是和终端的一种交互机制,输入密码只是其中一种应用形式,只要是在终端阻塞需要输入时,都可以通过expect脚本完成自动输入,比如前面脚本里配置了两种交互场景,一种是终端提示"password:"时输入密码,还有一种是提示"yes/no)&#;"时输入“yes”,如果和远程主机是第一次建立连接,执行scp.exp脚本效果是这样的

所以我们可以根据终端的提示来配置输入命令,这样就能达到了自动化的效果。至于处理其它交互场景,只需要照着上面的脚本依葫芦画瓢就行了

Shell脚本创建指定大小文件的测试数据 我们在测试或调试的时候,有时候会需要生成某个size的文件,比如在测试存储系统时,需要将磁盘剩余空间减少5G,最简单的办法就是拷贝一个5G的文件

Shell实现文本去重并操持原有顺序 简单来说,这个技巧对应的是如下一种场景假设有文本如下ccccaaaabbbbddddbbbbccccaaaa现在需要对它进行去重处理,这个很简单,sort-u就可以搞定,但是如果

shell脚本编程实现9*9乘法表 脚本内容#!/bin/bashforiin"1""2""3""4""5""6""7""8""9"doforjin"1""2""3""4""5""6""7""8""9"doif[${j}-lt${i}]thenk=$((i*j))echo-n${i}*${j}=${k}$'t'fiif[${j}-eq${i}]thenk=$((i*j))echo${i}*${j}=${k}fido

标签: shell脚本 su

本文链接地址:https://www.jiuchutong.com/biancheng/381214.html 转载请保留说明!

上一篇:Linux shell实现每天定时备份mysql数据库(linux实现shell代码)

下一篇:Shell脚本创建指定大小文件的测试数据(创建shell脚本命令)

  • 以个人名义汇货要交税吗
  • 公司租用其他公司车辆能报销保险费吗,发票怎么开
  • 收到没有填税号的短信
  • 工会经费如何申报?
  • 预收账款负数重分类调整
  • 合理合法的纳税人是谁
  • 无偿赠送货物怎么做账
  • 统借统还资金管理办法
  • 业务招待费的扣除标准是什么2022
  • 材料成本差异月初贷方余额表示什么
  • 应扣未扣的个人所得税税收如何处理
  • 房屋租赁合同印花税计税依据
  • 施工企业预算怎么编制
  • 企业用现金购进存货是单选题
  • 工程围挡做法
  • 低值易耗品怎么报废
  • 建设期利息对当年的借款如何计息?
  • 提取备用金现金流量
  • 实收资本不到账如何做凭证
  • 个人独资企业税率表2023最新
  • 营改增后房地产开发企业需要交哪些税?
  • 开了负数发票印花税减掉吗?
  • 开个体户需要什么资料
  • 企业当年度增值税税率
  • 回单是会计还是出纳职责
  • 企业自用房产出售怎么交税
  • 企业做账会计需要什么资质
  • 少收的货款怎么入账
  • 当月支付费用当月收到发票
  • 公司退股清算对股东影响
  • 1697509966
  • 员工有多处收入怎么申报个人所得税
  • php大量数据处理
  • 电脑耳机插上还是外放,重启就可以
  • 预收账款为什么不属于金融负债
  • 商品购进核算
  • 在建工程减值准备
  • 在缴纳企业所得税的情形
  • 报销办公用品会计分录计入其他应付还是其他应收
  • 外贸行业税率
  • 一般纳税人未取得增值税专用发票怎么处理
  • web前端期末大作业源代码
  • 学人工智能哪家机构比较好
  • php绘图库
  • 企业开负数发票退货后怎么处理?
  • 纳税人异地预缴所得税
  • 个体工商户城市维护建设税
  • 出口退税会计分局
  • python天气数据的爬取与分析
  • 小微企业买商品房怎么买
  • 进项税大于销项税怎么交税
  • 员工探亲路费报销入哪个科目
  • 两者的性质有所差异
  • 收回上年度拨款怎么做账
  • 定期定额征收和查账征收的区别
  • 现金日记账余额自动生成公式
  • 制作费用和管理费用
  • 多计提企业所得税怎么冲回
  • 无形资产如何做账务处理
  • 小规模增值税税率2023
  • 租赁行业的增值税率
  • 制造费用的明细账应当按照什么设置
  • 承兑汇票贴现怎么做会计分录
  • 应收账款收不回来怎么处理比较好
  • 土地流转的基本原则包括哪些
  • 资金占用费如何计算企业所得税
  • mysql查询语句大全讲解
  • 用Windows Server Backup搞定服务器备份
  • ubuntu火狐浏览器怎么改成中文
  • linux系统中
  • win10鼠标箭头怎么换样式
  • iwatch命名
  • linux显示所有内容
  • mac2019强制关机
  • 关于jquery的描述错误的是
  • python爬虫403解决方案
  • vue实现标签页效果
  • 国税局下设几个部门
  • 新加坡关税壁垒
  • 山东税务自然人注册怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设