Mac下sudo后环境变量失效的问题
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后环境变量失效的问题相关推荐
- Mac下添加java环境变量
Mac下添加java环境变量 配置文件的路径是/etc/profile或~/.bash_profile,推荐大家使用mac自带的终端或者iTerm2来配置. 方法一:全局配置 1 2 3 4 5 6 ...
- mac p配置android开发,Mac 下配置Android 环境变量
这里配置的是 android platform-tools 以及 tools 0. 首先,确定配置路径, 这里我的路径: /Users/用户名/downloads/adt-bundle-mac-x86 ...
- mac下配置php环境变量配置,怎么给mac电脑添加环境变量
平常我们使用最多的可能是windows系统,但是也有很多同学喜欢mac电脑.但是对于初次使用mac电脑的朋友来说,配置环境变量可能就成为了一道难题,下面我们就来说说怎么在mac下配置环境变量. (学习 ...
- mac下配置Flutter环境变量
1. 执行打开.bash_profile文件的命令: open -e .bash_profile 如果你看到 .bash_profile does not exist. 执行 touch .bash_ ...
- 解决ssh7.4升级8.5后环境变量失效和无法登录问题
#生产环境切记不要关闭当前窗口或保证telnet服务开启可以远程登录 1.在/etc/ssh/sshd_config中加入以下两行配置: UsePAM yes PasswordAuthenticati ...
- MAC OS 配置JDK环境变量
大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和windows里面有所不同,具体如下: 第一: mac OS里面自带jdk,不过是1.6的版本,现在很多人使 ...
- linux 添加path变量,linux下添加PATH环境变量
添加PATH环境变量,第1种方法: [root@lx_web_s1 ~]# export PATH=/usr/local/webserver/mysql/bin:$PATH 再次查看: [root@l ...
- 阿里云ubuntu下配置jdk环境变量总是失效
阿里云ubuntu下配置jdk环境变量总是失效 暂时未找到解决办法,只能每次失效重新应用配置 source /etc/profile
- Mac下搭建java环境与卸载
Mac下搭建Java环境与卸载 Mac下搭建Java环境 1.在终端命令行输入java -version查看JDK版本 例:java version "1.8.0_161" j ...
最新文章
- Docker系列 七. Docker 安装Jenkins
- 在运行期通过反射了解JVM内部机制
- 【python+selenium自动化】使用pytest+allure2完成自动化测试报告的输出
- jq怎么回到顶部和回到尾部_回到学校系列为孩子们提供开放资源
- 文件服务器复杂权限,运用技巧:如何提高文件服务器权限?
- 在Python里安装Jieba中文分词组件
- Matlab符号函数的生成及求符号函数的函数值
- 单片机4*4矩阵键盘的原理
- 分数化简通分:最大公约数与最小公倍数
- Qt 加载翻译文件基本方法
- 更新python pip 时提示操作超时错误
- caniuse-lite is outdated. Please run next command `npm update`
- Dubbo系列之Provider Service注册和暴露(三)
- 量化交易之数据获取篇
- Endnote文献管理方法
- Python_udp的使用
- 电子纸 墨水屏的驱动办法
- 计算机机房灯管烧毁,计算机机房维护案(修改).doc
- 【035】基于java的进销库存管理系统(Vue+Springboot+Mysql)前后端分离项目,附万字课设论文
- 学号 20175212 《Java程序设计》第4周学习总结
热门文章
- 解决若依部署出现:Error: Cannot find module ‘xxxx‘
- 快速了解Spring Cloud
- Javascript模块化编程系列三: CommonJS AMD 模块化规范描述
- Windows 电脑命令一览
- 用php做居中金字塔,[菜鸟学php] php版自定义函数实现金字塔
- android 动态contextmenu,Context-Menu.Android
- 最大比例(压轴题 )
- vue动态发布到线上_Vue 2.6 发布了
- python采集代理ip_Python采集代理ip并判断是否可用和定时更新的方法
- 为什么我加了过滤器然后就登不进去了_布隆过滤器过时了,未来属于布谷鸟过滤器?...