linux 设置变量在脚本之外可用,linux – 在ssh上运行脚本时,环境变量不可用
假設(shè)我有兩個(gè)主機(jī):A和B,用戶a和b. B是安裝了Cygwin的
Windows機(jī)器,如果這很重要的話.
B被配置為從A到SSH訪問而沒有密碼(它包含A的公共RCA密鑰),因此我可以通過以下方式從A運(yùn)行命令:
ssh b@B [command]
但是當(dāng)我嘗試運(yùn)行一個(gè)需要訪問環(huán)境變量的命令時(shí),命令失敗:
[15:54:08] - a@A - ~
$ssh b@B 'echo $ANT_HOME'
返回空字符串.
如果直接連接(而不是通過SSH),則執(zhí)行相同的命令:
b@B ~
$echo $ANT_HOME
/cygdrive/c/PROGRA~1/apache-ant-1.9.0
后者是可能的,因?yàn)橄嚓P(guān)變量是以“bash_profile”導(dǎo)出的:
export JAVA_HOME="/cygdrive/c/PROGRA~1/Java/jdk1.7.0_45"
export ANT_HOME="/cygdrive/c/PROGRA~1/apache-ant-1.9.0"
但由于某種原因,這不適用于SSH案例.
一些可能有用的其他信息.
主機(jī)B有Windows XP Cygwin. CYGWIN sshd在SYSTEM帳戶下運(yùn)行. JAVA_HOME和ANT_HOME在Windows的“系統(tǒng)”環(huán)境變量部分中定義.
當(dāng)我運(yùn)行“$ssh b @ B env”命令時(shí),它不會打印ANT_HOME或JAVA_HOME,但是如果我將它們包含在sshd_config文件中,它會這樣做.但即便如此,簡單的命令ssh b @ B’echo $ANT_HOME’也無法正常工作.
請給我一個(gè)提示,通過SSH運(yùn)行命令需要做什么.
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的linux 设置变量在脚本之外可用,linux – 在ssh上运行脚本时,环境变量不可用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么端口可以抓LINUX,linux下抓
- 下一篇: macos访问linux分区,在linu