小编gli*_*dud的帖子

如果 bash 脚本的 stdin 已被重定向,是否可以让 bash 脚本接受来自终端的输入?

假设我有一个 bash 脚本:

#!/bin/bash

read -p "Gimme some stuff: " stuff
echo "**${stuff}**"
Run Code Online (Sandbox Code Playgroud)

如果脚本是通过管道调用的,例如:

echo "Here's some stuff" | ./myscript.bash
Run Code Online (Sandbox Code Playgroud)

然后read命令将从管道中读取。即使我在点击该命令之前尝试清除 stdinread,它仍然会立即返回。

有什么办法吗?如果我无法控制调用脚本的方式,有没有办法强制它接受 areadselect来自终端的输入?如果没有,是否有任何偷偷摸摸的方法来暂停脚本以从标准输入以外的用户那里获取输入?

terminal bash command-line

6
推荐指数
1
解决办法
4103
查看次数

标签 统计

bash ×1

command-line ×1

terminal ×1