jschのChannelExec
(ではなく)でリモートコマンドを実行したい。ChannelShell
どうやら環境変数はロードされていませんが、私のコマンドにはそれらが必要です:
_channel.setCommand("source /etc/bash.bashrc; source ~/.bashrc; echo $LD_LIBRARY_PATH");
_channel.connect();
LD_LIBRARY_PATH
私のに設定されていますが、何も返しません~/.bashrc
。
_channel.setEnv("LD_LIBRARY_PATH", "/my/add/path:$LD_LIBRARY_PATH");
_channel.setCommand("echo $LD_LIBRARY_PATH");
_channel.connect();
どちらも機能しません-それでもecho
コマンドの出力はありません。
何が悪いのか分かりますか?正確にいつ電話する必要がありますsetEnv
か?私がする前connect()
または後に?そして、なぜ暗黙の解決策が機能しsource
ないのですか?