回答:
sshの-tオプションを使用すると、ttyを接続し、適切なTERM環境変数を設定するため、問題が解決する場合があります。
ssh -t host < script
入力をリダイレクトすると、sshクライアントはおそらく入力がTTYに接続されていないことを認識しているため、TERMが不適切であると判断します。
これらの行を~user/.bashrc宛先ホストに配置してみてください。
if [ ! ${#TERM} > 0 ]
then
export TERM=<value>
fi
$ { #var } は、変数varの文字列の長さを返します。そのため、の長さTERMがNULL(未設定)または0の場合、手動でTERM値を設定できます。
また、かどうかのテストについて考えることができます$SSH_CLIENTまたは$SSH_CONNECTION非ゼロである、とだけこれらの条件の下でTERM値をテスト。
最後に、ログインシェルでのみ実行される.bashrcため、これを実行する必要があり.bash_loginます。