在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