TERM が .bashrc に定義されていることを確認しました。
ただし、バッチ モードで ssh を実行すると、次のようになります。
$ ssh pc-lab7 "echo $TERM; echo $0"
TERM environment variable not set.
linux
-bash
対話モードで ssh を実行すると、このエラーは表示されません。
このエラー メッセージを消すにはどうすればよいですか?
ssh へのオプションの使用は-t
tty を割り当てます
-t Force pseudo-tty allocation. This can be used to execute arbitrary
screen-based programs on a remote machine, which can be very useful,
e.g. when implementing menu services. Multiple -t options force tty
allocation, even if ssh has no local tty.
この厄介な「TERM環境変数が設定されていません」という警告の理由がついにわかりました。
インタラクティブなユーザーなしで ssh がバッチ モードで実行されている場合、起動スクリプトで「clear」コマンドを呼び出すと、このエラーが発生することが判明しました。
スクリプトの「クリア」行をコメントアウトすると、問題が解決しました。