Отсутствует подсказка 'read' в bash при использовании ssh? - PullRequest
4 голосов
/ 11 июня 2010

Пожалуйста, скажите мне, что я упускаю что-то действительно очевидное:

$ cat ~/bashplay/f
#!/bin/bash
read -p 'RDY> ' x
echo $x

$ ~/bashplay/f
RDY> direct execution
direct execution

$ ssh somehost ~/bashplay/f
indirect via ssh
indirect via ssh

Обратите внимание на пропущенную подсказку "RDY>" при использовании sshТо же самое я вижу в python при использовании пакета readline.Кто-нибудь знает почему?

1 Ответ

5 голосов
/ 11 июня 2010

С man bash:

-p подсказка
Отображать подсказку о стандартной ошибке, без завершающей новой строка, прежде чем пытаться прочитать любой ввод. Приглашение отображается только в том случае, если вход поступает с терминала.

Используйте параметр ssh -t, который вызывает псевдотермическое выделение:

ssh -t somehost ~/bashplay/f
...