08/07/26 02:30:09
そんな簡単な話でもないみたい >>148
ssh -T host command でも残念ながら動作は変わらなかった。
それで調査を進めたところどうも
5.1p1のsession.cの427行目にある
#define USE_PIPES が悪さをしているっぽい。
これがあるために、直後のdo_exec_no_pty()で
#ifdef USE_PIPESの方のコードが強制的に使われる。
#elseの方ではsocketpairを使っているので
シェルへのstdinがネット経由になるが
#ifdef USE_PIPESの方ではpipeを使っているので
シェルへのstdinがネット経由にならない、
という事情のような気がする。
>>148さんの書き込みがヒントになった。ありがとう。
427行目の #define USE_PIPES を取っ払ってコンパイルしたら
5.1p1でも ssh host command で ~/.bashrc を読むようになった。
これでいく。皆様、協力感謝します。
それにしてもなぜ #define USE_PIPES がこんなところにあるんだろう。
除去し忘れか何かか?