首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解自动交互命令expect,免去手动输入!

2次密码,再如SSH登录的,如果没有做免密钥登录,第一次连接要和系统实现两次交互式输入 #安装 yum install expect #自动交互工作流程 spawn启动指定进程--->expect获取期待的关键字...通过spawn执行一个命令或程序,之后所有的expect操作都会在这个执行过的命令或程序进程中进行,包括自动交互功能,因此如果没有spawn命令,expect程序将会无法实现自动交互 #语法 spawn...root@192.168.1.1 uptime expect "*password" {send *123456\r"} #提示:上述命令不能直接在linux命令行中执行,需要放入expect脚本中执行...#示例 ssh远程登录机器执行命令,首次登录需要输入yes/no和输入密码 [root@game scripts]# cat ssh.exp #!...;exp_continue} "*password" {exp_send "guoke123\r"} } #因为后面还有匹配的字符,所以需要加上exp_continue,否则expect将不会自动输入指定的字符串

4K31
您找到你想要的搜索结果了吗?
是的
没有找到

linux基础命令介绍二:输入与输出

于是,我们用键盘键入字符(标准输入),执行命令后的输出(标准输出),命令执行出错(标准错误),都显示在终端窗口之上。...命令tee原本是从标准输入中读取内容的,这里我们把文件file1的内容重定向到标准输入(省略了文件描述符0),于是tee就将输入的内容打印到标准输出并且写入file11 这样的写法也是一样的(注意这里用了选项...在linux中,经常会需要用一个命令去处理另一个命令的输出,如果我们将命令的输出重定向到另一个命令的标准输入,岂不省了很多事!linux的管道(|和|&)就是用来做这些的。...: tab键用来补全命令和路径名,当我们输入一个命令或一个路径时,如果命令或路径还没写全,这时按下tab键,shell会自动帮我们补全路径和命令名,当shell搜索到多个结果时,再次按下tab键会在终端输出可能的结果...本文简述了linux输入与输出相关命令,举例说明了输入输出重定向和管道的简单用法,描述了shell通配符和命令行的一些使用技巧。关于重定向的更多内容,会在讲bash编程的文章中继续描述。

3.8K20

Linux命令5-输入输出重定向

Linux命令5-输入输出重定向 本文中介绍的是Linux输入输出重定向,具体包含: 硬件设备和文件描述符 两个特殊符号 输入输出重定向 硬件设备和文件描述符 计算机的硬件设备有很多种,常见的输入设备有键盘...不过,在 Linux 中,标准输入设备指的是键盘,标准输出设备指的是显示器(屏幕)。 Linux 中一切皆文件,包括标准输入设备(键盘)和标准输出设备(显示器)在内的所有计算机硬件都是文件。...任何一条Linux命令的执行会经历以下3个过程: ?...;文件存在则覆盖了再写入,没有文件则创建了再写入 >>:追加;将内容追加到指定文件的末尾 输入输出重定向 两种重定向 Linux shell重定向分为两种情况:输入重定向和输出重定向。...符号 $\color{red}{输入重定向}$中用到的符号及其作用如下表所示: 符号 作用 命令 < 文件 将文件作为命令的标准输入 命令 << 分界符 从标准输入中读入,直到遇到分解符才停止 命令

2.9K41

Linux命令输入不显示问题分析

Linux命令行打字不显示咋办? 现象 使用Linux命令行时,正常的情况是终端会打出输入的信息。 但是有的时候,明明敲击了键盘,终端却没有字符打印出来。只有回车的时候,看到命令执行的结果。...输入密码时不会显示密码,这是正常的,但有的时候是因为配置问题导致正常命令也不现实。 常见场景 这通常会在异常退出某种程序的时候遇到。...分析 原因: 如果命令执行均正常,只是不显示键盘打印字符,那就只是stty的问题。我们通常会认为,敲了键盘,就应该有字出现在屏幕上。这是因为stty提供了字符回显。...各个把键盘键入的字符输出来的就是stty的输入回写功能,包括退格等字符处理,都是stty处理掉的。键盘给电脑的只有按键消息。 #关闭输入回显 stty -echo 解决: 怎么修复无回显的问题?...在终端输入以下命令再回车即可。 为了避免之前有字符影响,可以先回车一下。执行后,回显就有了。 #开启输入回显 stty echo

2.8K40

Linux下使用scp命令无需输入密码传输文件

Linux环境下,两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方Linux主机文件的时候都需要输入密码确认。 不过通过建立信任关系,可以实现不输入密码。...这里假设A的IP:192.168.10.1 B的IP:192.168.10.2 需要从A免密码输入复制文件至B。 1....在主机A上执行如下命令来生成配对密钥: ssh-keygen -t rsa 按照提示操作,注意,不要输入passphrase。...为了安全起见,需要在两台机器中创建相同的账号,然后在A上用su命令切换至账号下,执行第1步,第二步中复制文件时可能.ssh目录并不存在,需要手动创建。...在第2步中如果机器中已经存在authorized_keys文件,则需注意,这个文件可以包含多个SSH验证信息,这时可用 cat >>命令将验证文件内容附加上去。

4.4K10

Linux 中不输入密码运行 sudo 命令的方法

sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户。如果您在命令行上花费了大量时间,那么sudo将会是您一直使用的命令之一。...在运行sudo命令之前,系统将提示该组的每个成员输入密码。这增加了额外的安全层,是向用户授予sudo权限的首选方式。 如下图: ?...但是,在某些情况下,例如运行自动脚本,您可能需要配置sudoers文件并允许某些用户运行sudo命令而不要求输入密码。...如果要允许用户仅运行特定命令而不输入密码,请在NOPASSWD关键字后指定命令。...以上所述是小编给大家介绍的Linux 中不输入密码运行 sudo 命令的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

16.4K30

Linux Shell命令自动补全的实现

背景介绍 最近在完成一个由linux shell脚本编写的工具时,发现在实现多个功能时,冗长的多个参数不仅难记而且大小写混杂,虽然“悉心”地写了完备的'-h'帮助文档,但是为了实现其中一个功能,仍然需要输入多个冗长的字符串来定位某个大选项下的小选项所对应的功能...实现思路 在 linux shell 下本身有着体验极佳的命令补全功能,即[Tab][Tab]。现通过自定义该程序的命令补全脚本实现命令补全。...,如下: variable description COMP_WORDS 类型为数组,存放当前命令行中输入的所有单词 COMP_CWORD 类型为整数,当前输入的单词在COMP_WORDS中的索引 COMPREPLY...类型为数组,候选的补全结果 COMP_WORDBREAKS 类型为字符串,表示单词之间的分隔符 COMP_LINE 类型为字符串,表示当前的命令输入字符 COMP_POINT 类型为整数,表示光标在当前命令行的哪个位置...source自动补全脚本。

5.6K31

linux命令自动补全总结

linux命令自动补全 centos7下执行yum install bash-completion之后重启系统正常。...自动补全的,但是,直接 source 执行该脚本后,docker命令后敲tab,会有错误。...kubectl命令自动补全 kubectl这个命令行工具非常重要,与之相关的命令也很多,我们也记不住那么多的命令,而且也会经常写错,所以命令自动补全是非常有必要的,kubectl命令行工具本身就支持complication...以下是linux系统的设置命令: source <(kubectl completion bash) echo "source > ~/.bashrc...在shell命令行可以使用“Tab”键自动补全命令或文件名,这种功能其实可以在shell脚本中实现,使得使用“Tab”键可以自动补全自定义的shell函数,相关命令有三个,compgen、complete

6.4K50

Linux用ctrl + r 查找以前(历史)输入命令

Linux系统下一直用上下键查找以前输入命令,这个找刚输入不久的命令还是很方便的,但是比较久远的命令,用上下键效率就不高了。...按下这个快捷键后,进入了反向搜索状态,这时你输入一个字符,系统会找到最近一个包含这个字符的命令,如果不是你想要的命令,你可以继续输入,系统继续查找最近一个包含你所输入的字符串的命令,直到找到你要的命令。...找到你想要的命令后,你可以按回车执行这条命令,还可以按上下键查找该命令前后的命令,按左右键移动光标并修改这条命令。...为了提高查找效率,你应该输入该条命令中最特别的字符(别的命令不包含的字符) 例如,我要查找最近曾经输入的后台执行的命令: nohup ..../bzimpx.sh >/dev/null & 只要输入&符号,一下就能找到这条命令

3.3K20

自动解锁 Linux 上的加密磁盘命令

Linux 统一密钥设置Linux Unified Key Setup(LUKS)是一个很好的工具,也是 Linux 磁盘加密的通用标准。...NBDE 采用以下技术实现: Clevis 框架:一个可插拔的框架工具,可自动解密和解锁 LUKS 卷 Tang 服务器:用于将加密密钥绑定到网络状态的服务 Tang 向 Clevis 客户端提供加密密钥...当提示时,你需要输入大写的 YES,并输入密码来加密磁盘: sudo cryptsetup luksFormat /dev/vdc1WARNING!...sudo vim /etc/crypttab 增加以下一行: encryptedvdc1 /dev/vdc1 none _netdev 修改 /etc/fstab,在重启时或启动时自动挂载加密卷...现在,每当你重启服务器时,加密后的磁盘应该会自动解密,并通过 Tang 服务器取回密钥进行挂载。 如果 Tang 服务器因为任何原因不可用,你需要手动提供密码,才能解密和挂载分区。

2K00

Linux 输入输出

基本输入输出三个: 0 标准输入STDIN 1 标准输出STDOUT 2 标准错误STDERR 标准错误流默认是输出到屏幕即标准输出上的。...重定向: 符号 > 输出覆盖 >>输出追加 <输入 ls -al > list 将结果写入list文件中,list没有将创建 ls -al >> list 将结果追加到...list尾部,list没有将创建 上面这种情况只能一次性的改变输入输出方向,要想在终端或shell中永久(也不能算是永久,在退出之前所有的输入输出是有效的)有效,需要用到exec命令,可以用man...如果你这样做了,你就会发现你没办法将输出从list返回到标准输出中了,要改变这种情况,需要用一个中间值将标准输出保存起来,书中叫Open File descriptor ,描述符最多只能有9个,可以用lsof命令列出所有的...这时候就可以使用一个特别的命令tee,可以将信息输出到这两个地方,man一下解释: tee - read from standard input and write to standard output

4.1K50

Linux命令-自动挂载文件etcfstab功能详解

三、/etc/fstab文件中的参数 下面我们看看看/etc/fstab文件,这是我的linux环境中/etc/fstab文件中的内容 cat /etc/fstab 查看当前系统已经存在的挂载信息 在文件中我已经把每一列都做出来表示方便识别...needs_recovery sparse_super Default mount options:    (none) Filesystem state:         clean 简单点的方式我们可以通过下面这个命令来查看...、reiserfs、nfs、vfat等 第四列:parameters:文件系统的参数 Async/sync 设置是否为同步方式运行,默认为async auto/noauto 当下载mount -a 的命令时...默认为auto rw/ro 是否以以只读或者读写模式挂载 exec/noexec 限制此文件系统内是否能够进行”执行”的操作 user/nouser 是否允许用户使用mount命令挂载 suid/nosuid...:dump是一个用来作为备份的命令

2.5K30

Linux定时器自动运行命令的工具

创建一个 cronjob 要创建一个 cronjob,你可以使用 crontab 命令,并添加 -e 选项: $ crontab -e 这将使用默认的文本编辑器打开 crontab。...如需指定文本编辑器,请使用 EDITOR 环境变量: $ EDITOR=nano crontab -e Cron 语法 如需调度一个 cronjob,你需要提供给计算机你想要执行的命令,然后提供一个...想要在启动后停止 cronjob,你必须编辑 crontab,删除触发该作业的命令行,然后保存文件。...$ EDITOR=nano crontab -e 如需停止一个正在运行的作业,可以 使用标准的 Linux 进程命令 来停止一个正在运行的进程。...它是自动的 一旦你编写完 crontab,保存了文件并且退出了编辑器。你的 cronjob 就已经被调度了,剩下的工作都交给 cron 完成。

1.6K00

Kali Linux中文输入

1.输入法框架 在Linux上,常见的输入法框架有三种:fcitx、ibus、xim。 2.输入法 支持的输入法:拼音、全拼、五笔、五笔拼音等。...三种框架中,输入法软件提供商,支持比较多的是:fcitx(谷歌、搜狗等) 3.操作系统 安装中文输入的场景,大多数是Linux桌面操作系统:Ubuntu、Kali、 Win Kex Kali这些,本文介绍的内容在...5.安装输入法 在Ubuntu、Kali这种系列的Linux操作系统上,用apt install命令就可以快速的安装。...图1 安装输入法框架后,会有对应的输入法配置。...图5 IBus: 图6 IBus的输入默认的按键习惯和Windows桌面的输入有差异,像输入法切换快捷键都不一样,最后在试用了对应的拼音和86版的五笔输入之后,就没有再使用IBus对应的输入法。

18.6K80

【打包构建】Mac下使用expect实现执行sudo命令自动输入密码

一、简介   最近想在Jenkins执行Build工作结束后,再执行一些sudo的命令,但是在Mac上sudo命令需要提供密码才能执行。...而Jenkins在执行自动化操作的时候,我们是无法在构建任务中手动输入密码的,只有实现了自动输入sudo密码才能让整个构建任务继续执行下去,要不然就会无限期地卡在等待输入密码这一步。   ...在网上看到过利用管道实现sudo命令自动输入密码的方法,我在Mac上试了,并不奏效,估计只能在Linux上运行,代码如下: echo "password" | sudo -S commander   ...二、利用expect实现执行sudo命令自动输入密码   expect是Mac下的一个软件包,利用它可以很方便地在自动化流程中实现一些需要交互性的操作,我们直接通过brew就可以很方便地安装它: brew...install expect   然后我们就可以开始编写自动化脚本了,比如我想在Jenkins构建结束以后,执行sudo rm -rf .

2.8K20
领券