Linux免交互

免交互

交互:我们发出指令控制程序的运行,程序在接受到指令之后按照指令的效果做出对应的反应
免交互:间接的通过第三方的方式把指令传送给指定的程序,不用直接的下达指令

Here Document 免交互:
这是命令行格式,也可以写在脚本当中。通过I/O重定向的方式,将命令列表传送给交互式程序或命令。
是标准输入的一种替代品。代替了人工的输入方式。
语法格式:
命令(Linux的系统命令)<<标记
内容1
内容2
内容3
标记
注意事项:
1、标记可以是任意合法字符(一般不使用特殊字符,不以数字开头,通常EOF作为默认的标记为)
2、结尾的标记为一定要顶格写。且前面不能有任何字符,空格也不行。
3、结尾的标记,前面不能有,后面也不能有任何字符
4、开头的标记前后的空格会被省略掉。
Expect实现免交互
用tcl语言写一个工具,主要是自动化控制和测试。解决shell脚本交互的问题。
转义符:
\n:换行
\r:表示回车
\t:制表符,相当于一个tab键
\b:表示退格,删除

[root@test2 625]# vim su.sh#!/usr/bin/expect
set timeout 5
#传参方式表达
set username [lindex $argv 0]
set password [lindex $argv 1]
#就是位置变量
#开始追踪
spawn su - $username
#免交互开始执行
expect "密码"
send "$password\r"
#继续捕获
expect    "~]$"
send_user    "ok"
#send_user = echo 打印指定内容
#interact
#结束语
expect eofchmod 777 su.sh ./su.sh 

嵌入式

#!/bin/bash
user=$1
password=$2
#非交互的命令,使用的是shell
useradd $user
#嵌入免交互
/usr/bin/expect <<-EOF
spawn password $user
expect "新的*"
send "$password\r"
expect "重新*"
send "$password\r"
expect eof
EOF
#!/usr/bin/expect
set ip 192.168.11.138
set user root
set password 123
set timeout 5#进入命令行
spawn ssh $user@$ipexpect{"yes/no" { send "yes\r";exp_continue}
#这里捕获两次,表示该项被匹配之后,继续匹配其他的指定内容。类似循环的continue
#允许expect语句继续向下执行。"*passwd:" { send "$password\r"}
}
interact
#连接其他主机#!/usr/bin/expect
set timeout 5
set hostname [lindex $argv 0]
set password [lindex $argv 1]spawn ssh $hostnameexpect {"No route to host" {send_user "主机名/ip有误\n"}"Connection refused"  {send_user "ssh连接拒绝\n"}"(yes/no)" {send "yes\r";exp_continue}"password" {send "$password\r"}
}
interact
~          [root@test2 625]# chmod 777 ssh1.sh 
[root@test2 625]# ./ssh1.sh root@192.168.11.138 123

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国外Essay写作需要哪些明确规划?

Essay是一项有挑战性的任务&#xff0c;因此需要一个明确的写作规划&#xff0c;以确保您的Essay有逻辑性、准确性和连贯性。以下是一些不同寻常的写作规划的建议&#xff0c;以帮助您编写一篇成功的Essay。 创意闪光&#xff1a; 一个好的Essay写作规划应该让您的创意闪光。…

CSS隐藏元素:探索不同的隐藏技巧

在网页设计中&#xff0c;我们经常需要隐藏某些元素&#xff0c;以实现特定的布局效果或响应式设计。CSS提供了多种方法来隐藏元素&#xff0c;每种方法都有其特定的用途和效果。今天&#xff0c;我们就来探索一下CSS中隐藏元素的几种常见方式。 隐藏元素的两种方式 方式一&a…

为什么用excel求出的和是错误的?

Excel中求和结果错误的原因可能有几种常见的情况&#xff1a;1. **数据格式问题**&#xff1a;有时候数字可能被错误地视为文本格式。这种情况下&#xff0c;Excel 在求和时会忽略这些单元格。你可以通过将这些单元格的格式改为数值格式来解决。2. **隐藏的行或列**&#xff1a…

01_基于git代码代码运行JADE的第一个Agent

第一步&#xff1a;下载JADE代码 进入官网地址 Jade (jade-project.gitlab.io) 使用git下载JADE代码 第二步&#xff1a;编译并打包代码 在代码目录下执行mvn install 注意事项 1. maven版本需大于3.2.6 第三步&#xff1a;新建一个常规maven项目 <?xml version&q…

find_in_set 查询数据库中,逗号隔开的字符串

FIND_IN_SET(str,strlist)&#xff0c;该函数的作用是查询字段(strlist) 中是否包含(str)的结果&#xff0c;返回结果为 null或记录 。 写法1&#xff1a; $where[] [exp,Db::raw("FIND_IN_SET($user_id,follow_ids)")];写法2&#xff1a; ->where("find_in…

encode()方法——编码字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 编码是将文本&#xff08;字符串&#xff09;转换成字节流&#xff0c;Unicode格式转换成其他编码格式。在Python中提供了encode()方法&am…

Kotlin 中的 infix 关键字(中缀函数)

在 Kotlin 中&#xff0c;infix 是一个关键字&#xff0c;用于定义中缀函数&#xff08;Infix Functions&#xff09;。 中缀函数允许我们在调用函数的时候使用更加简洁的中缀符号&#xff08;通常是一个操作符&#xff09;&#xff0c;而不是传统的点符号调用方式。中缀函数的…

Linux_应用篇(24) CAN 应用编程基础

本章我们学习 CAN 应用编程&#xff0c; CAN 是目前应用非常广泛的现场总线之一&#xff0c;主要应用于汽车电子和工业领域&#xff0c;尤其是汽车领域&#xff0c;汽车上大量的传感器与模块都是通过 CAN 总线连接起来的。 CAN 总线目前是自动化领域发展的热点技术之一&#xf…

2024软件测试面试题大全【含答案】

一、面试基础题 简述测试流程&#xff1a; 1、阅读相关技术文档&#xff08;如产品PRD、UI设计、产品流程图等&#xff09;。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例&#xff08;等价类划分法、边界值分析法等&#xff09;。 5…

ntp自动同步时间 ubuntu入门之二十四

当我们的电脑的CMOS电池失效时&#xff0c;我们可以在登陆shell之后通过脚本自动同步ntp时间。 Debian 11系统脚本编写如下&#xff1a; $ pwd /home/user$ ls Desktop Documents Downloads Music Pictures Public Templates Videos debian initrd mnt sync-time…

活动|华院计算受邀参加2024全球人工智能技术大会(GAITC),探讨法律大模型如何赋能社会治理

6月22至23日&#xff0c;备受瞩目的2024全球人工智能技术大会&#xff08;GAITC&#xff09;在杭州市余杭区未来科技城隆重举行。本届大会以“交叉、融合、相生、共赢”为主题&#xff0c;集“会、展、赛”为一体&#xff0c;聚“产、学、研”于一堂。值得一提的是&#xff0c;…

夏天喝酱香酒的好处有哪些?

夏天适合喝酱香酒的原因主要有促进新陈代谢、祛湿气、保护心脏等。下面酱酒亮哥将详细分析夏天适合喝酱香酒的具体原因&#xff1a; 促进新陈代谢 增加血液循环&#xff1a;夏天天气炎热&#xff0c;人体的新陈代谢本来就比冬季要旺盛&#xff0c;而酱香型白酒含有较多的酒精…

Batch 入门学习

Batch 入门学习 Batch 是一种在计算机科学和数据处理领域中广泛使用的技术&#xff0c;用于批量处理数据和任务。本文将带你深入了解 Batch 的基本概念、应用场景、工作原理和一些常用工具&#xff0c;帮助你快速入门 Batch 处理技术。 目录 Batch 概述Batch 处理的应用场景…

深度解析RocketMq源码-消费者索引ConsumeQueue

1.绪论 rocketmq的broker中关于消息持久化的组件主要包含三个&#xff0c;分别是&#xff1a;持久化消息到文件中的组件commitLog&#xff1b;根据消息key索引commitLog日志的indexFile&#xff1b;消费者根据topic和queueId查询commitLog日志的consumeQueue。前面已经介绍com…

使用QGIS进行研究区域制图实战

目录 前言 一、QGIS的版本和数据介绍 1、关于QGIS版本 2、需要准备的数据 二、准备制图 1、制作全国区位图 2、矢量和遥感信息的编辑 三、出图编辑 1、设置主题信息 2、打印布局制作 3、美化地图 总结 前言 俗话说“一图胜千言”&#xff0c;在地理信息的领域中&…

Feign:简化微服务通信的利器

介绍 1.1 什么是 Feign&#xff1f; Feign 是一个声明式、模板化的 HTTP 客户端&#xff0c;它简化了编写 Web 服务客户端的过程。它的主要目的是使 HTTP API 客户端的开发变得更加简单和直观。Feign 的设计理念是将 HTTP 客户端的细节隐藏在背后&#xff0c;使开发者可以专注…

ai智能语音机器人在电销里发挥怎样的作用

得益于语音识别技术的的进步&#xff0c;人工智能发展越来越成熟。相信作为企业的管理者&#xff0c;都遇到过这样的事&#xff1a;一个电销新人刚刚入行&#xff0c;需求经过一两个月的学习培训才能成为一名合格的销售人员。在这段学习的期间&#xff0c;企业投入的成本是没有…

使用 Selenium 获取 Web 页面信息的全指南

目录 为什么使用 Selenium 获取页面信息Selenium 基础设置获取页面标题获取当前 URL获取页面源代码获取元素的文本获取元素的属性获取 Cookie截图示例代码总结 正文 1. 为什么使用 Selenium 获取页面信息 在 Web 自动化测试和数据抓取中&#xff0c;获取页面信息是一个基本…

来聊聊nacos

先关注下下方公众号呗&#xff1a; 第1部分&#xff1a;引言 微服务的挑战 尽管微服务架构带来了许多好处&#xff0c;如敏捷性、可扩展性和容错性&#xff0c;但它也带来了一些挑战&#xff0c;特别是在服务发现、配置管理、服务间通信和运维管理方面。这些挑战需要有效的解…

opencv 图像的缩放(放大,缩小),翻转与旋转

目录 opencv 图像的缩放(放大&#xff0c;缩小)&#xff0c;翻转&#xff0c;旋转1、图像的缩放&#xff0c;旋转过程中为什么需要插值&#xff1a;2、常见的插值算法包括&#xff1a;3、图像的缩放&#xff0c;翻转&#xff0c;旋转&#xff1a;&#xff08;1&#xff09;图像…