
Я получил это сообщение, когда копировал файл с помощью scp на сервер CentOS "stdin: is not a tty"
. Что это значит и как мне сделать так, чтобы оно исчезло? Передача прошла нормально.
решение1
Вероятно, это происходит потому, что /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