iTerm2重启后别名alias配置无效问题的原因分析与解决

简介: 本文记录了在安装python环境中,配置alias别名时遇到的配置的alias别名没有成功生效的问题。根据问题,分析了导致alias配置的别名没有成功生效的原因以及具体解决办法。通过这样的问题记录,为以后避免再次遇到同样的问题,比如这样的配置未生效的问题,可以快速地对问题进行定位并解决。

问题

问题来源

  • 在MacOS中,默认已经安装好python,版本为2.7
  • python允许同一个系统存在多个python版本
  • 在终端使用python命令默认打开的是python2.7,要想使用python3需要使用python3命令,为了直接使用python命令打开python3,就需要设置别名alias

问题

  • 在bash_profile中配置环境变量后,配置别名alias
  • 导致问题:只有在终端执行bash_profile,别名才会生效,每次重启iTerm2后命令就会失效
source ~/.bash_profile

解决办法

  • 将bash_profile中别名alias配置写在zshrc中,这样就解决了iTerm2重启后别名alias失效的问题
vi ~/.zshrc

原理

  • 其实这个原理还是相当于:只有每次重启的时候在终端执行bash_profile:source ~/.ba sh_profile,别名才会生效
  • 因为当iTerm2一旦启动,就会自动执行zshrc文件,
  • zshrc中的配置都是全局配置

注意!

  • 注意使用的shell版本:

    • zsh对应的是zshrc
    • bash对应的是basic
  • 在解决别名alias重启终端失效问题的时候,网上的解决办法都是在bashrc中添加配置,我尝试了怎么也没成功
  • 后来,突然想到之前使用过的zshrc文件
  • 原来是我之前配置oh-my-zsh时把终端shell从bash替换到了zsh,这样使用zshrc后完美解决问题
相关文章
|
应用服务中间件
Tomcat配置主机别名(Alias)
   如果相同的服务器拥有两个或更多的DNS名,尽管他们是同一台且是同一个实体,而您想让Tomcat响应所有对他们执行的请求,就要使用主机别名(Alias)。      如果公司有一个网站,叫做www.gootry.com,而您还希望给仅录入gootry.com的用户提供请求服务,别名就很有用了。
1563 0
|
4月前
|
Shell Linux 数据库
bat cmd 无效参数/选项 - deleting
bat cmd 无效参数/选项 - deleting
24 0
|
7月前
|
存储 安全 Shell
【Shell 命令集合 系统设置 】⭐Linux 创建命令别名 alias命令 使用指南
【Shell 命令集合 系统设置 】⭐Linux 创建命令别名 alias命令 使用指南
154 0
|
安全 Java Linux
sshpass 命令踩坑记录--未获取环境变量
sshpass 命令踩坑记录--未获取环境变量
299 0
|
Linux 开发工具
linux配置别名alias
临时配置方法,关闭窗口即失效 终端命令 alias cd_log='cd /var/log/' 多个命令之间使用';'隔开 alias vim_log='cd /var/log/;vim xx.