2011-06-29 11 views
0

私はhp Unixボックスで作業しています。私はsshを使ってリモートスクリプトを実行しようとしています。 私のターゲットスクリプトは、環境変数の値を内部的に使用します。 私は手動でsshを実行し、echo $(env_vairable_name)を実行すると、値を出力します。 しかし、私はリモートでスクリプトを実行すると、env変数値を取得しません。 リモートスクリプトを実行するためにblowコマンドを試しています。 ssh remote_user @ remote_hostname "〜/ my_script_on_remote.ksh"です。 アドバイスをお願いします。リモートサーバでスクリプトを実行中に環境変数の値を取得できません

ありがとうございました。

+1

スクリプトの少なくとも一部を表示できますか? – cnicutar

+0

これはどのようにイム割り当て値である: DB_USER = $ ASMM_INSTALL_DB_USER db_pwd = $ ASMM_INSTALL_DB_PASSWORD DB_INSTANCE = $ ASMM_INSTALL_DB_INSTANCE そして、ここでイムそれらを使用して セット-A解像度 'sqlplusを-s $ DB_USER/$ db_pwd @ $ DB_INSTANCE << ENDOFSQL –

+1

.profileファイルに設定されています。 –

答えて

1

リモートホスト上のKornシェルのスタートアップファイルに環境変数を設定する必要があります。

また、(強調追加)ファイル~/.ssh/environmentを使用しますが、ssh(1)警告していることができます。

Additionally, ssh reads ~/.ssh/environment , and adds lines of the format “ VARNAME=value ” to the environment if the file exists and users are allowed to change their environment. For more information, see the PermitUserEnvironment option in sshd_config(5) .

最後に、あなたは、コマンドライン引数を取る代わりに、環境からそのパラメータを読み取るために、スクリプトを変更することができます。

+0

返信ありがとうございました。 〜/ .ssh/environmentが機能しませんでした。最後に引数を渡しました。 しかし、私は別の問題に直面しています。私のスクリプトはsqlplusに接続しようとしています。すべてのパラメタは正しいですが、エラーメッセージ以下にスローされます エラー:SQL Plusコマンドの実行に失敗しました!エラーコード:1 リモートスクリプトでは、-A res 'sqlplus -s $ db_user/$ db_pwd @ $ db_instance << ENDOFSQLコマンドを使用して接続します。 このエラーが発生する理由は何ですか。おかげさまで –

+0

SQL Plusコマンド自体からのエラーメッセージのように見えます。秘密のものもあります。私はその命令が何であるかわからないので、私はあなたを助けることができません。 –