ansible遠(yuǎn)程沒有環(huán)境變量

ansible 遠(yuǎn)程過去 java -version

提示找不到命令

首先,在腳本中添加echo $JAVA_HOME ,which java ,echo $(whoami),然后用ansible遠(yuǎn)程執(zhí)行,發(fā)現(xiàn)為root用戶但輸出為空和找不到j(luò)ava; 其次,在~/.bash_profile中添加環(huán)境變量,用ansible遠(yuǎn)程執(zhí)行腳本,發(fā)現(xiàn)依然輸出為空和找不到j(luò)ava環(huán)境變量; 最后,考慮ansible執(zhí)行的環(huán)境變量與登錄時(shí)使用的環(huán)境變量不同,所以將JAVA_HOME寫在/etc/bashrc中,用ansible遠(yuǎn)程執(zhí)行腳本,發(fā)現(xiàn)執(zhí)行正常; 至此,確定ansible執(zhí)行過程中并未調(diào)用/etc/profile和~/.bash_profile

解決

ansible遠(yuǎn)程執(zhí)行的是non-login shell 并不會(huì)加載/etc/profile和~/.bash_profile下的環(huán)境變量,只加載~/.bashrc和/etc/bashrc 如果需要在ansible中執(zhí)行需要特定環(huán)境變量的命令,將環(huán)境變量寫在~/.bashrc ,然后source一下~/.bash_profile。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容