解决 Mac和Idea 终端关闭后,环境变量失效,每次都需source ~/.bash_profile 问题

解决 Mac和Idea 终端关闭后,环境变量失效,每次都需source ~/.bash_profile 问题

大家好,又见面了,我是全栈君。

一.Mac解决 zsh: command not found: ll

问题
ll 命令可以查看该文件夹下的所有文件信息,包括隐藏的文件,
但当使用此命令时却出现报错

解决 Mac和Idea 终端关闭后,环境变量失效,每次都需source ~/.bash_profile 问题
解决方法
第一步:打开bash_profile 配置文件 

vim ~/.bash_profile

第二步:在文件中添加配置
键盘按下 I 键进入编辑模式

alias ll='ls -alF'

添加完配置后,按ESC键退出编辑模式
输入 :wq 保存并退出
第三步:更新配置文件,使配置生效

source ~/.bash_profile

解决后测试

命令可以正常使用了,但是还没完,每次关闭终端后,还是会失效。

二.解决失效重启终端后命令失效问题

最近使用mac系统后,每次在~/.bash_profile 配置了mvn 等环境变量后,使用 source后 环境变量生效,但是当终端退出后,环境变量就失效。

思路:把 bash shell 中.bash_profile 全部环境变量加入zsh shell中

第一步:open ~/.zshrc
#这时候有的同学可能会提示 没有.zshrc这个文件 ,自己创建一下就可以

第二步:添加 source ~/.bash_profile
# 在.bash_profile 文件中添加: alias ll='ls -alF'

第三步执行:source .zshrc

第三.切换用户后,/etc/profile的配置不起效, 导致 php -v 报错,php 命令不存在。

遇到的问题

在配置linux的时候,发现一个问题:su root切换到root用户后,/etc/profile 中配置的PATH不起效果。

问题分析和疑问

  1. 是不是/.profile,/.bashrc等初始化当前用户的脚本有非法的初始化操作覆盖了PATH ?
  2. /etc/profile 定义的PATH不是全局有效吗?

解决办法

疑问1很快排除了,后来google 到这里找到解决思路。
用su – root 代替 su root;

从 vagrant 用户登录root 用户,密码是vagrant ; 

跟着文中提到的几个概念(登录shell,交互shell),查了一下资料,思路终于理清了。

  1. 不同用户初始的PATH是不一样的。切换用户系统会先将PATH设为初始值,然后再根据调用的初始化脚本,添加PATH中的路径。并不是所有用户共用一个PATH
  2. su – root,产生一个登录shell去执行后面的指令。登录 shell 执行的是shell 登录的流程,会执行 /etc/profile,/etc/profile.d/下定义的*.sh都会执行。
  3. su root产生一个非登录交互shell,非登录交互shell,只执行 用户家目录下 .profile等配置文件。

一些相关的概念

  1. shell 是用户和操作系统内核通信的接口。
  2. 由于历史的原因,产生了很多shell的办法。/etc/shells文件记录了当前系统可用的shell。linux 系统默认的shell是bash。
  3. 可以通过命令: ps -ef | grep bash 查看当前活跃的shell
  4. exit 当前shell(login shell可以用logout退出)。exit 和logout 实现用户之间的登录与退出
  5. echo $$可以查看当前shell ID , 退出shell前后可以执行这个指令进行验证。

参考:

Mac解决 zsh: command not found: ll

mac环境变量失效

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111465.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • idea打不开,双击没反应的解决方案

    idea双击打不开,没反应1.找到idea安装根目录bin下,选中idea.bat右键编辑,或者使用txt打开2.在idea.bat最后一行添加pause打印报错信息如图3.保存关闭,双击运行idea.bat4.会显示报错信息,如图下5.根据错误信息找到配置路径错误6.找到c盘C:\Users\ThinkPad\下设置显示隐藏的项目这样我们就能找到AppDate文件夹了7.找到路径下idea64.exe.vmoptions文件…

  • mybatis log 激活码【2021.7最新】「建议收藏」

    (mybatis log 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~ML…

  • IDEAL 2021.10激活码【最新永久激活】[通俗易懂]

    (IDEAL 2021.10激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • idea替换内容快捷键_intellij快捷键

    idea替换内容快捷键_intellij快捷键ctrl+r:当前文件内容替换,指的是在当前打开的文件中替换匹配的字符,只操作一个文件。ctrl+shift+r:在路径中替换,指的是在选定的目录下或者类包下,查找要被替换的字符,再在第二个输入框中输入要替换的字符,点击弹出框的右下角的replace或者replaceall即可。…

  • pycharm2021.9激活码_在线激活

    (pycharm2021.9激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S3…

  • idea2021.01.激活码【在线注册码/序列号/破解码】

    idea2021.01.激活码【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号