我正在使用hp Unix機器。我試圖通過SSH執行遠程腳本。 我的目標腳本在內部使用環境變量值。 當我手動執行ssh並執行echo $(env_vairable_name)時,它會打印該值。 但是,當我遠程執行腳本時,它不會獲得env變量值。 我試着blow命令來執行遠程腳本。 ssh remote_user @ remote_hostname「〜/ my_script_on_remote.ksh」。 請指教。在遠程服務器上執行腳本時無法獲取環境變量值
謝謝。
我正在使用hp Unix機器。我試圖通過SSH執行遠程腳本。 我的目標腳本在內部使用環境變量值。 當我手動執行ssh並執行echo $(env_vairable_name)時,它會打印該值。 但是,當我遠程執行腳本時,它不會獲得env變量值。 我試着blow命令來執行遠程腳本。 ssh remote_user @ remote_hostname「〜/ my_script_on_remote.ksh」。 請指教。在遠程服務器上執行腳本時無法獲取環境變量值
謝謝。
您應該在遠程主機上的Korn shell的啓動文件中設置環境變量。
您也可以使用文件~/.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 thePermitUserEnvironment
option insshd_config(5)
.
最後,您可以更改腳本以命令行參數,而不是從環境中讀取其參數。
感謝您的迴應.. 〜/ .ssh/environment沒有工作,最後我傳遞了參數。 但現在我面臨着另一個問題。我的腳本正試圖連接sqlplus。雖然所有的參數都是正確的,但它會拋出錯誤消息 錯誤:SQL Plus命令執行失敗!錯誤代碼:1 在遠程腳本我使用set -A res'sqlplus -s $ db_user/$ db_pwd @ $ db_instance << ENDOFSQL命令來連接。 任何想法,爲什麼我得到這個錯誤。 謝謝。 –
看起來像來自SQL Plus命令本身的錯誤消息;也是一個神祕的。我不知道這個命令是什麼,所以我無法幫助你。 –
你能告訴我們你的劇本至少有一部分嗎? – cnicutar
這是分配如何IM值: DB_USER = $ ASMM_INSTALL_DB_USER db_pwd = $ ASMM_INSTALL_DB_PASSWORD db_instance = $使用它們 集ASMM_INSTALL_DB_INSTANCE 這裏IM -A資源'的sqlplus -s $ DB_USER/$ db_pwd @ $ db_instance << ENDOFSQL –
它在.profile文件中設置。 –