安装zsh后,终端mvn命令不能用问题解决
来源:互联网 发布:java 线程池 串行 编辑:程序博客网 时间:2024/05/22 08:09
本篇继上一篇文章,是关于安装了zsh后,在终端mvn命令不能使用的问题。
刚开始装maven时,我们会把mvn的环境变量配置在~/.bash_profile文件中,而当你安装zsh后,会发现mvn命令不起作用了,好像没有装一样。其原因还是在启动linux或终端时各个配置文件的先后加载问题及作用域问题。先来看如何解决上面的问题:
先打开.zshrc文件,加入mvn的环境变量配置,如下图:
然后按esc键后,输入命令:wq进行保存退出,记住冒号不可少。重启终端,会发现mvn命令可用。
那为什么会出现这种原因呢,是因为这些系统文件会存在一个优先执行顺序,首先在登录时,先执行的是/etc/profile文件。
然后在启动用户目录下的~/.bash_profile、~/.bash_login或~/.profile文件中的其中一个,执行顺序为~/.bash_profile、~/.bash_login、~/.profile。如果~/.bash_profile文件存在的话,一般还会执行~/.bashrc文件。若要退出shell时还会执行~/.bash_logout文件。
所以不难发现,当在zsh下执行各项命令时,此时~/.zshrc文件则已经执行呢。而~/.bash_profile文件没有执行,所以在其中配置的mvn参数不会加载。其实有两种方法可以解决,一种是楼主上面操作的方法,还有一种与第一种类似,就是在~/.zshrc文件中加入source ~/.bash_profile命令即可。原理都是一样,即是在执行zsh相关的文件时会加载到mvn的相关配置。
简单介绍一下各个文件的作用域:
(1)/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2)/etc/bashrc:为每一个运行bash shell的用户执行次文件。当bash shell被打开时,该文件被读取。
(3)~/.bash_profile:每个用户都可以使用该文件输入专用与自己使用的shell信息,当用户登录时,该问价仅仅执行一次,默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(4)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该 文件被读取。
(5)~/.bash_logout:当每次退出系统时(退出bash shell),执行该文件。另外,/etc/profile中设定的变量可以作用于任何用户,而~/.bashrc等中设定的变量只能继承/etc/profile中的变量,是“父子”关系。
(6)~/.bash_profile是交互式、login方式进入bash运行的~/.bashrc是交互式non-login方式进入bash运行的通常二者设置大致相同,所以通常前者会调用后者。
- 安装zsh后,终端mvn命令不能用问题解决
- MySQL安装后不能用的问题解决方案
- mvn配置环境变量后 mvn -v依然不可用问题解决
- CentOS7 安装完成后ifconfig命令不能用
- Report Server 报表服务器安装sp2补丁后,报表服务器不能用的问题解决方法
- win10系统输入法安装后不能用
- android终端中su命令不能用的问题
- mac安装git后,在终端里运行git命令,系统提示需要安装Xcode问题解决
- 关于升级Xcode版本后插件不能用的问题解决
- Linux安装jdk1.8配置后java命令不能用,提示权限不够
- 终端命令补全(zsh)
- iOS 终端命令补全(zsh)
- mvn安装jar命令
- 进入CentOS后发现很多命令不能用解决办法
- sqlserver安装后不管理器不能用IP登录,只能用机器名登录的问题
- dos命令不能用
- dos命令不能用
- eclipse中安装入插件后不能用的问题
- equals与==,覆盖和重载,static,final基本规则
- JMS简介
- Angularjs过滤器笔记
- 链式A+B有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。 给定两个链表ListNode* A,ListN
- C语言关于字符串中字母大写换小写,小写换大写的实现程序
- 安装zsh后,终端mvn命令不能用问题解决
- 第十二章——SQLServer统计信息(1)——创建和更新统计信息
- jdbc中关于获取mysql数据库的链接
- 两台android设备间通过OTG-USB连接,实现通信(android设备间的通信)
- 叶明哲 | 数据中心空调那点事
- 教你怎么在linux上永久修改IP地址
- 迟到一周的图论课次②
- css控制图片翻转样式
- 正则表达式