在Bash中使用管道时缺少读取命令提示?

在Bash中使用管道时缺少读取命令提示?,bash,pipe,Bash,Pipe,我有一个名为“/script”的文件,其中包含“read-p”输入您的名字:“Name”(1) 打开终端后,键入bash./script。它显示一个提示。但当我键入cat./script | bash(2)时,它什么也不显示 是否有任何命令可以读取该文件并获得与(1)相同的结果。请帮帮我。先谢谢你 这是我的第一个问题。如果需要,请对此进行改进。 手册上说: -p提示符 在尝试读取任何输入之前,在标准错误上显示提示,不带尾随换行符仅当输入来自终端时,才会显示提示。 执行cat./script |

我有一个名为“
/script
”的文件,其中包含“
read-p”输入您的名字:“Name
(1)

打开终端后,键入
bash./script
。它显示一个提示。但当我键入
cat./script | bash
(2)时,它什么也不显示

是否有任何命令可以读取该文件并获得与(1)相同的结果。请帮帮我。先谢谢你

这是我的第一个问题。如果需要,请对此进行改进。

手册上说:

-p提示符

在尝试读取任何输入之前,在标准错误上显示提示,不带尾随换行符仅当输入来自终端时,才会显示提示。

执行cat./script | bash时,输入来自管道,而不是终端。解决方法是阅读,例如:


read-p“Input Your Name:”Name这还将解决
read
消耗一行脚本的问题,因为
read
读取的是与
bash
本身相同的文件句柄。
read -p 'Input Your Name:' name </dev/tty