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

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

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

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

相关判定依据如下:

ZdeMacBook-Air:~ z$ cd /var/lib
ZdeMacBook-Air:lib z$ ls
postfix
ZdeMacBook-Air:lib z$ $APOLLO_HOME/bin/apollo create mybroker
Creating apollo instance at: mybroker
ERROR: mybroker/etc/log4j.properties (Permission denied)
ZdeMacBook-Air:lib z$ sudo $APOLLO_HOME/bin/apollo create mybroker
Password:
Error: JAVA_HOME is not defined correctly.We cannot execute /System/Library/Frameworks/JavaVM.framework/Home/bin/java
ZdeMacBook-Air:lib z$

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

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

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

ZdeMacBook-Air:lib z$ sudo env
TERM=xterm-256color
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.vGpiMArTtP/Listeners
__CF_USER_TEXT_ENCODING=0x1F5:0x19:0x34
LSCOLORS=GxFxCxDxBxegedabagaced
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
LANG=zh_CN.UTF-8
HOME=/Users/z
SHELL=/bin/bash
MAIL=/var/mail/root
LOGNAME=root
USER=root
USERNAME=root
SUDO_COMMAND=/usr/bin/env
SUDO_USER=z
SUDO_UID=501
SUDO_GID=20
ZdeMacBook-Air:lib z$

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

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

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

ZdeMacBook-Air:lib z$ sudo export jfskdjfladksjfksadjf=dsdjfls
Password:
sudo: export: command not found

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

ZdeMacBook-Air:lib z$ su root
Password:
sh-3.2# cd /var/lib
sh-3.2# ls
mybroker postfix
sh-3.2# $APOLLO_HOME/bin/apollo create mybroker
Creating apollo instance at: mybroker
Generating ssl keystore...You can now start the broker by executing:  "/private/var/lib/mybroker/bin/apollo-broker" runOr you can run the broker in the background using:"/private/var/lib/mybroker/bin/apollo-broker-service" startsh-3.2#

转载于:https://my.oschina.net/weichou/blog/374248

Mac下sudo后环境变量失效的问题相关推荐

  1. Mac下添加java环境变量

    Mac下添加java环境变量 配置文件的路径是/etc/profile或~/.bash_profile,推荐大家使用mac自带的终端或者iTerm2来配置. 方法一:全局配置 1 2 3 4 5 6 ...

  2. mac p配置android开发,Mac 下配置Android 环境变量

    这里配置的是 android platform-tools 以及 tools 0. 首先,确定配置路径, 这里我的路径: /Users/用户名/downloads/adt-bundle-mac-x86 ...

  3. mac下配置php环境变量配置,怎么给mac电脑添加环境变量

    平常我们使用最多的可能是windows系统,但是也有很多同学喜欢mac电脑.但是对于初次使用mac电脑的朋友来说,配置环境变量可能就成为了一道难题,下面我们就来说说怎么在mac下配置环境变量. (学习 ...

  4. mac下配置Flutter环境变量

    1. 执行打开.bash_profile文件的命令: open -e .bash_profile 如果你看到 .bash_profile does not exist. 执行 touch .bash_ ...

  5. 解决ssh7.4升级8.5后环境变量失效和无法登录问题

    #生产环境切记不要关闭当前窗口或保证telnet服务开启可以远程登录 1.在/etc/ssh/sshd_config中加入以下两行配置: UsePAM yes PasswordAuthenticati ...

  6. MAC OS 配置JDK环境变量

    大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和windows里面有所不同,具体如下: 第一: mac OS里面自带jdk,不过是1.6的版本,现在很多人使 ...

  7. linux 添加path变量,linux下添加PATH环境变量

    添加PATH环境变量,第1种方法: [root@lx_web_s1 ~]# export PATH=/usr/local/webserver/mysql/bin:$PATH 再次查看: [root@l ...

  8. 阿里云ubuntu下配置jdk环境变量总是失效

    阿里云ubuntu下配置jdk环境变量总是失效 暂时未找到解决办法,只能每次失效重新应用配置 source /etc/profile

  9. Mac下搭建java环境与卸载

    Mac下搭建Java环境与卸载 Mac下搭建Java环境 1.在终端命令行输入java -version查看JDK版本 例:java version "1.8.0_161" ​ j ...

最新文章

  1. Docker系列 七. Docker 安装Jenkins
  2. 在运行期通过反射了解JVM内部机制
  3. 【python+selenium自动化】使用pytest+allure2完成自动化测试报告的输出
  4. jq怎么回到顶部和回到尾部_回到学校系列为孩子们提供开放资源
  5. 文件服务器复杂权限,运用技巧:如何提高文件服务器权限?
  6. 在Python里安装Jieba中文分词组件
  7. Matlab符号函数的生成及求符号函数的函数值
  8. 单片机4*4矩阵键盘的原理
  9. 分数化简通分:最大公约数与最小公倍数
  10. Qt 加载翻译文件基本方法
  11. 更新python pip 时提示操作超时错误
  12. caniuse-lite is outdated. Please run next command `npm update`
  13. Dubbo系列之Provider Service注册和暴露(三)
  14. 量化交易之数据获取篇
  15. Endnote文献管理方法
  16. Python_udp的使用
  17. 电子纸 墨水屏的驱动办法
  18. 计算机机房灯管烧毁,计算机机房维护案(修改).doc
  19. 【035】基于java的进销库存管理系统(Vue+Springboot+Mysql)前后端分离项目,附万字课设论文
  20. 学号 20175212 《Java程序设计》第4周学习总结

热门文章

  1. 解决若依部署出现:Error: Cannot find module ‘xxxx‘
  2. 快速了解Spring Cloud
  3. Javascript模块化编程系列三: CommonJS AMD 模块化规范描述
  4. Windows 电脑命令一览
  5. 用php做居中金字塔,[菜鸟学php] php版自定义函数实现金字塔
  6. android 动态contextmenu,Context-Menu.Android
  7. 最大比例(压轴题 )
  8. vue动态发布到线上_Vue 2.6 发布了
  9. python采集代理ip_Python采集代理ip并判断是否可用和定时更新的方法
  10. 为什么我加了过滤器然后就登不进去了_布隆过滤器过时了,未来属于布谷鸟过滤器?...