Терминал доступа stdin, когда он является источником самого сценария bash

Это немного беспорядочно, чтобы объяснить.

У меня есть сценарий, который я хочу развернуть следующим образом:

curl -Ls example.com/myscript.sh | bash

Проблема заключается в том, что скрипт читается со стандартного ввода, например: :

echo "You should edit /srv/pillar/tm.sls now. Comments are in the file."
echo Type "skip" to skip or anything else to edit.
read text
if [ "$text" != "skip" ]; then
sudo pico /srv/pillar/tm.sls
fi

Теперь, поскольку stdin, очевидно, служит источником самого скрипта, в настоящее время это не работает. Есть ли способ восстановить терминал?

(Текущее обходное решение состоит в том, чтобы развернуть его следующим образом: curl -Ls example.com/myscript.sh > myscript.sh && bash myscript.sh)

1
задан 19 February 2014 в 18:13

0 ответов

Другие вопросы по тегам:

Похожие вопросы: