2

Я получаю это сообщение, когда копирую файл с помощью scp на сервер CentOS "stdin: is not a tty" . Что это значит и как я заставлю это уйти? Передача в порядке.

1 ответ1

4

Вероятно, это связано с тем, что скрипт /etc/bashrc пытается запустить stty, и действительно, stdin не является tty.

Вы должны убедиться, что ваш скрипт входа в систему завершается рано, когда он используется неинтерактивным способом.

В синтаксисе csh это обычно делается добавлением чего-то подобного к вашему сценарию входа в систему (до команд типа stty , которые полезны только для интерактивных сеансов):

if ( ! $?USER || "$prompt" == "" || ! $?term ) then
    exit
endif

То же самое можно сделать в bash, добавив в начале .bashrc:

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .