在 Neovim 中运行的 Bash 脚本忽略“读取”命令 [重复]

2023-12-03

考虑以下 Bash 脚本:

#!/usr/bin/env bash
read -rp "> " INPUT
echo "Your input is: $INPUT"
echo "Done"

当我在常规 Vim 中打开这个文件并运行:!bash %,我得到了预期的结果:

> 测试

您的输入是:测试

Done

按 ENTER 或键入命令继续

然而,在 Neovim 中,运行相同的:!bash %命令似乎忽略了read line:

您的输入是:

Done

按 ENTER 或键入命令继续

我正在运行 Vim 版本8.2.500和 Neovim 版本v0.4.3.

从命令行执行脚本工作正常,到目前为止我只在 Neovim 中运行它时遇到这个问题。

我缺少什么?


从手动输入:!命令:

该命令在连接的非交互式 shell 中运行 到管道(不是终端)。使用 |:终端|运行一个 连接到终端的交互式 shell。

当它运行时bash,它的标准输入连接到管道,而不是终端,因此不能使用终端来响应提示。

So try

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

在 Neovim 中运行的 Bash 脚本忽略“读取”命令 [重复] 的相关文章

  • bash 支持字边界正则表达式吗?

    我试图在再次添加该单词之前匹配列表中是否存在该单词 以避免重复 我正在使用 bash 4 2 24 并尝试以下操作 foo bmyword b also foo
  • 使用带有curl 的内部字段分隔符

    当我做 ls IFS l 我得到了我期望的输出 当我做 curl IFShttp www google com 我不 我是否误解了内部字段分隔符 如何在不使用任何空格字符的情况下运行curl 命令 您需要将变量放在大括号内 否则 shell
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 迭代 bash 脚本中的变量名称

    我需要在一堆文件上运行一个脚本 这些文件的路径被分配给train1 train2 train20 我想 为什么不使用 bash 脚本使其自动执行呢 所以我做了类似的事情 train1 path to first file train2 pa
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • 获取变量的名称作为输入并使用该名称更改变量

    我从脚本用户那里获取变量的名称作为第一个参数 并将该变量的值回显到控制台 bin bash variablename 1 echo The value of variablename is variablename 这太棒了 我无法开始工作
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • 分叉/多线程进程|重击

    我想让我的代码的一部分更加高效 我正在考虑让它分叉成多个进程 并让它们一次执行 50 100 次 而不是只执行一次 例如 伪 for line in file do foo foo2 foo3 done 我希望这个 for 循环运行多次 我
  • 查找哪个程序运行另一个程序

    我有一个 NAS 运行在 Redhat Linux 的有限版本上 我按照指示破解了它 这样我就可以访问 shell 这很有帮助 我还做了一些修改 其他人也做过修改 除了一个问题之外 它们似乎都工作得很好 不知何故 每隔 22 天 系统就会关
  • Linux - 从第二个选项卡获取文本

    假设我们有这样的文件 一些文本11 一些文本12 一些文本13 一些文本21 一些文本22 一些文本23 文本由制表符分隔 我们知道第 1 列中的一些文本 但希望从第 2 列中获取文本 我知道我可以通过以下方式获取线路 grep somet
  • 将 stdout 和 stderr 重定向到带有前缀的单个文件

    我正在编写一个 bash 脚本 需要重定向stdout and stderr我运行到单个文件的命令的输出 在每行前面加上前缀stderr or stdout 因此 有没有一个简单的方法可以做到这一点 from Debian http www
  • 符合 POSIX 标准的 shell 相当于 Bash“while read -d $'\0' ...”?

    我正在尝试使 Bash 脚本严格符合 POSIX 标准 即消除任何潜在的 Bashisms http mywiki wooledge org Bashism 通过使用checkbashisms px script filename 在给定的
  • awk 的 printf 插入多个变量的正确语法是什么?

    我复制了一些使用 printf 输出字符串在文件中出现的频率的代码 awk BEGIN print The number of times a appears in the file a a counter 1 END printf s n
  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • 使用 XMLStarlet(图像注释)将值连接到现有 xml 属性

    我正在使用 xml 来注释图像 我正在使用 xmlstarlet 和 unix bash 命令 但当我尝试将值附加到现有 xml 属性值时遇到一些问题 例如 我有
  • 数组上的 Bash 子字符串扩展

    我有一组带有给定后缀的文件 例如 我有一组带有后缀的pdf文件 pdf 我想使用子字符串扩展来获取不带后缀的文件名 对于单个文件我可以使用 file test pdf echo file 0 4 要对所有文件执行此操作 我现在尝试 file
  • 每当 SQLERROR 永远不起作用时

    我不知道可能是什么原因 我已经在网上花了几个小时试图找出我的情况出了什么问题 我查过官方文档 https docs oracle com cd B19306 01 server 102 b14357 ch12052 htm还有一些汤姆 凯特

随机推荐

  • 如何使用“cp”命令排除特定目录?

    我想复制目录中的所有文件 除了特定子目录中的某些文件 我注意到cp命令没有 exclude选项 那么 我怎样才能实现这一目标呢 rsync快速且简单 rsync av progress sourcefolder destinationfol
  • 更改 observable 但不通知 knockout.js 中的订阅者

    有没有办法忽略可观察值变化的订阅者 我想更改可观察值的值 但不使用 Knockout js 为订阅者执行它 通常这是不可能或不可取的 因为它可能会导致依赖链中的事物不同步 使用限制扩展器通常是限制依赖项接收的通知量的好方法 但是 如果您确实
  • 在完成前一个 AJAX 请求之前中止新的 AJAX 请求

    我有一个函数 可以在输入更改时运行 AJAX 调用 但是 在之前的 ajax 调用完成之前 该函数有可能会再次被触发 我的问题是 如何在开始新的 AJAX 调用之前中止之前的 AJAX 调用 不使用全局变量 参见类似问题的回答here JS
  • 为什么克隆时不执行构造函数[重复]

    这个问题在这里已经有答案了 Animal animal new Animal 101 Constructor is executed Animal clone Animal animal clone Constructor is not e
  • 将浮点数与零进行比较

    C 常见问题解答精简版 29 17 为什么我的浮点比较不起作用 推荐这个平等测试 include
  • 使用 Visual Studio 的调试器查看动态分配的空终止字符串

    有没有办法更改 Visual Studio 调试器的默认行为 以便将鼠标悬停在以 null 结尾的动态分配的字符数组 C 上时 它将显示字符串的完整内容 而不仅仅是第一个字符 我应该提到我正在使用 Visual Studio 2010 如果
  • .NET 中的 SQL 注入

    大家好 我想知道是否有人知道一些详细介绍 NET Web 应用程序 SQL 注入预防的好网站 任何资源都将得到极大的利用 谢谢 我认为 如果您在 google 上搜索一下 防止 NET 中的 sql 注入 您会发现很多好的资源 无论如何 一
  • 堆栈宽度始终与 CPU 寄存器大小相同吗?

    例如 对于8位CPU 堆栈大小预计为8位宽 而16位CPU vs 16位堆栈宽度 以及32位 64位CPU等 对于所有架构都是如此吗 CPU有数据总线和地址总线 它们可以具有相同的宽度 但通常不是 堆栈指针是指向内存的指针 因此它通常与地址
  • 消息“安全点期间合并操作”的含义

    java 应用程序使用以下标志运行 XX PrintSafepointStatistics 然后 在标准输出控制台上生成以下行 2 个虚拟机操作在安全点期间合并 有人愿意解释一下这是什么意思吗 更一般地说 是否有 Java 参考手册详细介绍
  • 将 http:// 添加到所有不带协议的链接

    我使用 VB NET 并且想添加http 指向所有尚未以 http https ftp 等开头的链接 I want to add http here a href target self Google a but not here a hr
  • 尝试理解 ASP.NET 和 HttpClient() 的“常见”异步死锁

    在遇到 常见 异步死锁并进一步了解之后异步最佳实践我尝试在 ASP NET 中模拟这个问题 试图找出为什么我们以前从未遇到过这个问题 看起来的区别在于 我们之前使用的是 http 客户端获取异步方法 但这并没有引起问题 public cla
  • 支持使用 AVCaptureSession 后台录制视频

    我正在尝试在后台录制视频 但目前当应用程序进入后台时 我的代码正在前台录制视频 void captureOutput AVCaptureFileOutput captureOutput didFinishRecordingToOutputF
  • Python:在 for 循环中访问迭代器对象

    我想在循环内显式地步进循环迭代器 有没有比以下 更好 的方法来做到这一点 idx iter range 0 10 for i in idx print i if i 5 print consuming i in step i next id
  • 操作现有的 CSV 文件,同时保持列顺序。 (CsvReader/CsvWriter)

    我需要通过以下操作操作现有的 CSV 文件 从现有 CSV 文件读取 gt 然后向其追加新行 我有以下代码 该代码在第三行中令人窒息 因为该文件已被第一行中的代码使用 我不知道如何正确阅读它 然后向其添加新行 public bool Sav
  • 阻止 WordPress 将脚本包含在 CDATA 中

    我正在使用 WordPress 的 HTML 导入插件导入 HTML 页面 我有一个谷歌地图的代码片段 它是导入的 但是 导入后 它会包含script tag in CDATA 如果我删除 CDATA 地图就可以正常工作 如何阻止 Word
  • powercfg 电池报告的 GUI

    我正在尝试为 powercfg 电池报告创建一个 GUI 我已经写了下面的内容 但似乎不起作用 有人可以帮忙吗 Thanks private void button1 Click object sender EventArgs e var
  • Web 浏览器控制:禁用跨站 XSS 过滤或其他在 HTML 上完整处理 JS 的方法

    我正在尝试使用我的网络浏览器控件从特定页面获取日期 包括所有子页面内容 问题是某些子页面位于单独的域上 因此当我尝试访问框架 通过 document windows frames i document 时 我收到权限设计错误 现在我明白了发
  • 为什么 numpy std() 给出的结果与 matlab std() 不同?

    我尝试将 matlab 代码转换为 numpy 并发现 numpy 与 std 函数有不同的结果 在Matlab中 std 1 3 4 6 ans 2 0817 in numpy np std 1 3 4 6 1 8027756377319
  • SQL 状态:42601 在“11”处或附近出现语法错误

    我有一张桌子address all并且它被多个地址表继承 address history继承自父表history all并保留当前地址信息 我正在创建继承的新表address all表并从中复制信息address history到新表 我的
  • 在 Neovim 中运行的 Bash 脚本忽略“读取”命令 [重复]

    这个问题在这里已经有答案了 考虑以下 Bash 脚本 usr bin env bash read rp gt INPUT echo Your input is INPUT echo Done 当我在常规 Vim 中打开这个文件并运行 bas