回答:
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
ます。