[英]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.