scp からの「stdin: は tty ではありません」というメッセージ

scp からの「stdin: は tty ではありません」というメッセージ

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

関連情報