天天看点

iTerm2重启后别名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后完美解决问题