Использование read -p в bash-скрипте, который был выполнен из pipe

Я заранее извиняюсь - я не до конца понимаю идеи, о которых я спрашиваю, достаточно хорошо, чтобы понять, почему это не работает (Я не знаю что мне нужно учить). Сначала я искал обмен стека для ответов - я нашел некоторую информацию, которая, возможно, показалась актуальной, но не достаточно хорошо объяснил концепции, чтобы понять, как создать работающее решение. Я искал Google, но не нашел никакой информации, которая точно описывает, что происходит таким образом, чтобы я понял. Будем весьма благодарны за любое направление к базовым концепциям, которые могут помочь мне понять, что происходит.

Можно ли получить пользовательский ввод в скрипте bash, который был выполнен из канала?

Например:

wget -q -O - http://myscript.sh | bash

И в сценарии:

read -p "Do some action (y/n): " __response
if [[ "$__response" =~ ^[Yy]$ ]]; then
   echo "Performing some action ..."
fi

Насколько я понимаю, это не работает, потому что read пытается прочитать входные данные из stdin, и скрипт bash в настоящее время «выполняется через этот канал» (я уверен, что есть более точный технический способ описать происходящее, но я не знаю как)

Я нашел решение, которое рекомендовало использовать:

read -t 1 __response </dev/tty

Однако это тоже не работает.

Любой свет, проливаемый на концепции, которые мне нужно понять, чтобы сделать эту работу, или объяснения того, почему она не работает или решения, будет принята с благодарностью.

Ответы на вопрос(2)

Ваш ответ на вопрос