如何在 bash 脚本中模拟命令的连续两次 ENTER 键按下?

2023-12-22

[已编辑] 它可以被认为是[这个问题][1]的延伸。echo | command上述命令可用于向命令的第一个输入请求提供一个“ENTER”字符。

我如何在第二个输入请求中向同一命令提供下一个“ENTER”字符。

如果需要任何其他详细信息,请评论。

我给出了我想要实现的具体示例。 我需要跑SSH-keyGen我的 shell 脚本中的命令。 它将要求以下输入:

  1. 输入目标文件名
  2. 输入密码
  3. 再次输入密码

我们如何将这三个输入传递给命令?

我尝试过,

echo -ne "\n \n"| ssh-keygen  //which is passing two new lines for the first input request only.

and echo -ne "\n"|(echo -ne "\n"|ssh-keygen)// but still no positive result

注意:我避免了上述两个命令中的输入文件名请求,只是为了让事情变得简单


例如,您可以使用

echo -e "\n"

or

echo -en "\n\n"

The -e选项告诉echo解释转义字符。\n是换行(输入)字符。所以第一个打印换行符是由于\n,然后是另一个echo通常会附加一个换行符。

The -n选项告诉echo禁止添加隐式换行符。要获得两个换行符,您需要指定两个\n.

Edit:

这里的问题是ssh-keygen很特别。出于安全考虑,密码不是从标准输入读取,而是直接从终端读取!要提供密码(即使是空密码),您需要使用-P选项。由于您只需要按一次 ENTER(用于文件路径提示),因此此命令应该有效:

echo | ssh-keygen -P ''

(注意两个'之间没有空格:它们很重要!)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 bash 脚本中模拟命令的连续两次 ENTER 键按下? 的相关文章

  • 独特的 Linux 文件名,可按时间排序

    以前我用的是uuidgen http man7 org linux man pages man1 uuidgen 1 html创建唯一的文件名 然后我需要通过 bash 脚本按日期 时间迭代该文件名 从那时起 我发现简单地通过 ls l 循
  • 将 bash 提示符下的当前命令复制到剪贴板

    我想要一个快速的键盘命令序列 将 bash 提示符处的当前命令复制到剪贴板 例如 要将最后一个 bash 命令复制到剪贴板 我会按 up some command sequence 复制它 或者 例如 要在 bash 历史记录中搜索命令 我
  • Unix 中的访问时间是多少

    我想知道访问时间是多少 我在网上搜索但得到了相同的定义 读 被改变 我知道与touch我们可以改变它 谁能用一个例子来解释一下它是如何改变的 有没有办法在unix中获取创建日期 时间 stat结构 The stat 2 结构跟踪所有文件日期
  • sed 和 rev shell 命令转换为 Python 脚本 [重复]

    这个问题在这里已经有答案了 有一个shell命令 我正在尝试将逻辑转换为python 但我不知道该怎么办 我需要一些帮助 shell命令是这样的 cd tests src main test ls find name vrlp while
  • 如何在 Bash 中删除字符串的第一部分?

    该代码将给出第一部分 但是如何删除它并获取没有第一部分的整个字符串 echo first second third etc cut d f1 你应该看看info cut 这将解释什么f1 means 实际上我们只需要第二个字段之后的字段 f
  • 为什么使用signalfd无法捕获SIGSEGV?

    我的系统是ubuntu 12 04 我将示例修改为man 2 signalfd 并添加sigaddset mask SIGSEGV 在示例中 但我无法得到输出SIGSEGV被生成 这是一个错误吗glibc 源代码片段如下 sigemptys
  • Python 子进程:无法转义引号

    我知道以前曾问过类似的问题 但它们似乎都是通过重新设计参数的传递方式 即使用列表等 来解决的 但是 我这里有一个问题 因为我没有这个选项 有一个特定的命令行程序 我使用的是 Bash shell 我必须向其传递带引号的字符串 它不能不被引用
  • 安装 JDK 时出错:keytool 命令需要已安装的 proc fs (/proc)。 Linux 的 Windows 子系统

    我尝试在 Linux 的 Windows 子系统 Ubuntu 14 04 上安装 Oracle JDK 1 7 但出现以下错误 the keytool command requires a mounted proc fs proc Jav
  • Linux 中有没有一种轻量级的方法来获取当前进程数?

    我希望我的 基于 C C 的 程序显示一个数字指示器 指示本地系统上当前有多少个进程 将经常查询正在运行的进程数值 例如每秒一次 以更新我的显示 有没有一种轻量级的方法来获取该数字 显然我可以调用 ps ax wc l 但我不想强迫计算机生
  • 通过 Node.js 运行 bash 脚本 - 非法选项 -o pipelinefail

    我正在尝试使用 Node js 执行 bash 脚本child process exec 然而它在文件的第二行爆炸 usr bin env bash set eo pipefail TRACE set x echo we are here
  • EULA 接受 Bash 脚本

    我有一个尝试安装垃圾箱的脚本 除了 bin 在 more 中打开 EULA 之外 一切正常 在脚本再次开始并自行完成安装之前 您必须手动 ctrl c 退出此 more 实例 因为这更多的是逃离 shell 所以脚本在打开后不知道要运行什么
  • 在 Linux 服务器上创建和编辑 MS-Word 文档?

    希望开发处理文档的服务器端应用程序 源文档大多是MS Word 2003 2007 即MS版本的Docx 希望服务器应用程序能够在linux或windows上运行 想知道在linux下读写MS Word文件最好的工具或库是什么 兼容性是最重
  • SIGHUP 用于重新加载配置

    根据signal 7 SIGHUP用于检测控制终端的挂起或控制进程的死亡 然而 我遇到过很多 OSS 守护进程 服务 其中SIGHUP用于启动配置的重新加载 这里有一些例子 hostapd sshd snort etc 这是实现重新加载的标
  • 进程如何知道它已收到信号

    如果我错了 请纠正我 以下是我对信号的理解 据我所知 信号生成 和信号传递有2个不同 事物 为了产生信号 操作系统只是在位数组中设置一个位 在过程控制中维护 工艺块 PCB 每一位 对应于特定信号 当设置一个位时 这意味着 该位对应的信号为
  • X 按键/释放事件捕获,与焦点窗口无关

    我想记录所有传入的按键事件 无论哪个窗口处于焦点状态或指针位于何处 我编写了一个示例代码 它应该捕获当前焦点窗口的按键事件 include
  • Flex 的远程版本误解了我的规则

    我使用 flex 和 bison 编写了一个小汇编程序 可以在我的机器 ubuntu 10 10 上构建并运行正常 现在其他人正在尝试在 arch linux 上构建它 并且他们安装的 flex 产生了不同的 lex yy c 这是不匹配的
  • 将儒略时间戳转换为 UNIX 中的常规时间

    我需要使用 Bash 将 UNIX 中的 Julian 时间戳转换为常规时间戳 在 Tandem OS 上 转换非常简单 例子 212186319010244541 OLSAPP SYSTST 1 gt interprettimestamp
  • 如何隐藏显示终端命令输出

    当我运行这个命令时 sudo htpasswd b home reynolds htpasswd admin admin 我正在得到输出Updating password for user admin在终端中 但我不想显示该输出 所以我在谷
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015

随机推荐

  • 编译器在多线程程序中使用寄存器

    这是一个普遍问题 但是 在多线程程序中 编译器使用寄存器临时存储全局变量是否安全 我认为不是 因为在寄存器中存储全局变量可能会更改保存的值 对于其他线程 那么使用寄存器来存储函数中定义的局部变量怎么样 我认为这是可以的 因为没有其他线程能够
  • Python 程序的跟踪表

    有没有办法获取Python程序的跟踪表 或者让一个程序运行另一个程序并获取其跟踪表 我是一名老师 试图完美地验证我们在测试中使用的追踪问题的答案 例如 假设我有一个名为的 Python 程序problem1 py包含以下内容 问题1 py
  • 高效保存加权移动平均线的数据结构/算法

    我想在存储日志记录时总结多个不同类别的移动平均值 想象一下 有一项服务一次保存一个 Web 服务器日志条目 让我们进一步想象一下 我们无权访问记录的记录 所以我们只能看到它们一次 但之后就无法再访问它们了 对于不同的页面 我想知道 点击总数
  • 使用 git 和 MAMP 进行本地开发的权限

    我正在一个干净的帐户上设置一台新机器 我正在 Mac OSX 10 8 2 上使用 MAMP Pro 进行本地开发 并使用 git 进行版本控制 我遇到权限问题 MAMP Pro allows you to set permission t
  • 将 u32 数组中存储的大数转换为字节并返回

    我正在用 Rust 做一些计算数学 我有一些大数字 我将它们存储在一个包含 24 个值的数组中 我有将它们转换为字节并返回的函数 但它不能正常工作u32值 而它适用于u64 代码示例如下 fn main let mut bytes 0u8
  • 为数据存储中存储的图像发送“304 Not Modified”

    我将用户上传的图像存储在 Google App Engine 数据存储中db Blob 如提议的the docs http code google com appengine docs python images usingimages h
  • 要求对 VC++ 进行有关插入和安放的调查

    我正在调查以下成员函数期间执行了多少特殊成员函数vector insert emplace push back emplace back 在各种运行时条件下 我的目的是发表一篇论文 对这些成员函数进行相互比较 并比较 std lib 的每个
  • jspdf addHTML pagesplit 选项正在拉伸页面

    我已经尝试了互联网上的所有内容 这是我最后一次尝试看看这是否可能 我正在处理的是一个长而动态的 html 我必须将其转换为多页 pdf 我尝试了 addhtml 和 addImage 方法 但没有得到想要的结果 addhtml 当我使用 p
  • 如何提及命令的发送者?不和谐.py

    我创建了一个超级简单的 report
  • 如何使用jquery animate跨浏览器滚动到元素

    这段代码 jQuery body animate scrollTop target offset top 300 适用于 Firefox 但不适用于 Chrome 这段代码 jQuery html animate scrollTop tar
  • 如何在 PySpark ALS 中使用长用户 ID

    我尝试在 PySpark MLlib 1 3 1 的 ALS 模型中使用长用户 产品 ID 但遇到了问题 这里给出了代码的简化版本 from pyspark import SparkContext from pyspark mllib re
  • PHPExcel 异常:“无法关闭 zip 文件...”

    我使用 XAMPP Mac 进行本地开发 但我在工作中使用了这段代码 使用 Windows 和其他相同的开发环境 并且它工作得很好 objPHPExcel new PHPExcel sheet objPHPExcel gt createSh
  • 调整 rCharts 中的轴标签 NVD3 图表

    我正在使用 rChartsnPlot 函数在给定列联表类型数据的情况下显示堆叠或分组条形图 multiBarChart 显示在一个闪亮的应用程序中 下面给出了我在闪亮的应用程序中使用的一段代码 graphData lt reactive a
  • 导入数据覆盖下拉列表数据

    我使用下面的代码从另一个 Excel 文件导入 Excel 中的数据 此外 我还在 C 列和 E 列上设置了下拉列表 当我运行此宏时 它会覆盖下拉列表数据 我希望如果用户没有导入正确的名称和城市并且还给出该建议 它应该给出错误 如果我能实现
  • 择优挑选并将一系列提交压缩到子目录或子树中

    我如何告诉cherry pick 选择提交范围并压缩它 或者换句话说 将两次提交之间的差异应用到存储库的当前状态 下面的做法是not工作 cherry pick 没有 squash 选项 git cherry pick squash e06
  • 数据到音频并返回。调制/解调源代码

    我有一个二进制数据流 想要将其转换为原始波形声音数据 我可以将其发送到扬声器 这就是老式调制解调器所做的 以便通过电话线传输二进制数据 产生典型的调制解调器声音 这称为调制 然后我需要一个相反的过程 从原始波形样本中 我想获得精确的二进制数
  • Python 检查列表是否只包含空元素或空格

    我想检查列表是否只包含空元素或空格 例如 l n if all whitespace or empty for element in l return True 有人知道怎么做吗 那么你的空白简直就是str isspace so if al
  • CodeMirror:如何在光标位置之前或之后读取编辑器文本

    我试图找到一种方法来测试光标前面是否有特定字符串 然后触发事件 我正在尝试做的示例 用户单击编辑器内的某个位置 cursorActivity 光标或编辑器已更改 事件被触发 我捕获该事件并测试前 6 个字符是否与字符串匹配 color 如果
  • UIkit 上其他模态中的模态

    当我单击第二个模态时 第一个模态消失 但是 我也想保持开放 这是禁用该行为的方法吗 我还注意到其他框架 例如 Foundation 也有相同的行为 这是我的代码 a href my id Open Modal a div class uk
  • 如何在 bash 脚本中模拟命令的连续两次 ENTER 键按下?

    已编辑 它可以被认为是 这个问题 1 的延伸 echo command上述命令可用于向命令的第一个输入请求提供一个 ENTER 字符 我如何在第二个输入请求中向同一命令提供下一个 ENTER 字符 如果需要任何其他详细信息 请评论 我给出了