簡體   English   中英

在 Neovim 中運行的 Bash 腳本忽略“讀取”命令

[英]Bash script running in Neovim ignores “read” command

考慮以下 Bash 腳本:

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

當我在常規 Vim 中打開此文件並運行:!bash %時,我得到了預期的結果:

> 測試

您的輸入是:測試

完畢

按 ENTER 或鍵入命令繼續

但是,在 Neovim 中,運行相同的:!bash %命令似乎會忽略read行:

您的輸入是:

完畢

按 ENTER 或鍵入命令繼續

我在 8.2.500 版本上運行8.2.500 ,在 v0.4.3 版本上運行v0.4.3

從命令行執行腳本工作正常,到目前為止,我只在 Neovim 中運行它時遇到這個問題。

我錯過了什么?

:! 命令:

該命令在連接到 pipe(不是終端)的非交互式 shell 中運行。 使用 | :終端| 運行連接到終端的交互式 shell。

運行bash時,其標准輸入連接的是 pipe,而不是終端,因此無法使用終端響應提示。

所以試試

!te bash %s

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM