失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Mac下sudo后环境变量失效的问题

Mac下sudo后环境变量失效的问题

时间:2019-04-08 23:15:00

相关推荐

Mac下sudo后环境变量失效的问题

独角兽企业重金招聘Python工程师标准>>>

如果sudo后,某些命令在执行时无效,是由于sudo启用了非当前用户配置,而又没有完全启用root用户配置,从而导致某些命令无效。如export命令,从而导致环境变量无法设置成功。

解决办法是登录到完整的root用户再执行相应操作。

相关链接:在 Mac OS X 中启用和使用“root”用户

相关判定依据如下:

ZdeMacBook-Air:~z$cd/var/libZdeMacBook-Air:libz$lspostfixZdeMacBook-Air:libz$$APOLLO_HOME/bin/apollocreatemybrokerCreatingapolloinstanceat:mybrokerERROR:mybroker/etc/log4j.properties(Permissiondenied)ZdeMacBook-Air:libz$sudo$APOLLO_HOME/bin/apollocreatemybrokerPassword:Error:JAVA_HOMEisnotdefinedcorrectly.Wecannotexecute/System/Library/Frameworks/JavaVM.framework/Home/bin/javaZdeMacBook-Air:libz$

错误信息显示没有设置环境变量 JAVA_HOME,但实际上是有的:

ZdeMacBook-Air:libz$echo$JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

虽然在 sudo echo $JAVA_HOME 时也能看到跟上面一样的结果,但是在 sudo env 的时候却没有:

ZdeMacBook-Air:libz$sudoenvTERM=xterm-256colorSSH_AUTH_SOCK=/private/tmp/com.apple.launchd.vGpiMArTtP/Listeners__CF_USER_TEXT_ENCODING=0x1F5:0x19:0x34LSCOLORS=GxFxCxDxBxegedabagacedPATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbinLANG=zh_CN.UTF-8HOME=/Users/zSHELL=/bin/bashMAIL=/var/mail/rootLOGNAME=rootUSER=rootUSERNAME=rootSUDO_COMMAND=/usr/bin/envSUDO_USER=zSUDO_UID=501SUDO_GID=20ZdeMacBook-Air:libz$

但是事实上我已经在/etc/profile里面配置了JAVA_HOME:

ZdeMacBook-Air:libz$cat/etc/profile#System-wide.profileforsh(1)if[-x/usr/libexec/path_helper];theneval`/usr/libexec/path_helper-s`fiif["${BASH-no}"!="no"];then[-r/etc/bashrc]&&./etc/bashrcfi###############以下为新增###############exportJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

后来偶然发现sudo export并不起作用:

ZdeMacBook-Air:libz$sudoexportjfskdjfladksjfksadjf=dsdjflsPassword:sudo:export:commandnotfound

启用并登录root用户后,圆满完成:

ZdeMacBook-Air:libz$surootPassword:sh-3.2#cd/var/libsh-3.2#lsmybrokerpostfixsh-3.2#$APOLLO_HOME/bin/apollocreatemybrokerCreatingapolloinstanceat:mybrokerGeneratingsslkeystore...Youcannowstartthebrokerbyexecuting:"/private/var/lib/mybroker/bin/apollo-broker"runOryoucanrunthebrokerinthebackgroundusing:"/private/var/lib/mybroker/bin/apollo-broker-service"startsh-3.2#

如果觉得《Mac下sudo后环境变量失效的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。