使用Linux alias命令简化常用操作
工作相关,Mac下使用命令行工具iTerm经常会手打一些常用命令, 今天突发奇想,如果我能把常见命令保存为一个单词,以后直接输入此单词就能代替这个命令该多好啊。
网上查询了下,我的想法可行, Mac本质是Unix系统,所以很多地方跟Linux一样,文件系统中有几个特殊文件:
/etc/profile,/etc/bashrc 是系统全局环境变量设定
~/.profile,~/.bashrc用户家目录下的私有环境变量设定
今天以node的http-server(三方模块)命令举例:
|
|
加入如下代码:1alias server='sudo http-server -p 80 ./'
保存并退出,执行1source ~/.bashrc
这样就可以直接在命令行打server
来代替sudo http-server -p 80 ./
了。
然后事情并没有那么顺利……
当退出命令行工具或者重启系统后,之前的设置就不生效了,查找了好久,才知道,MacOS中默认并没有~/.bashrc文件,它只认~/.bash_profile 文件,就是说系统唤起或者命令行工具开启后,自动加载的是~/.bash_profile,所以一般Mac下配置环境变量的教程都是修改~/.bash_profile文件。
所以解决办法大家差不多知道了:
把刚刚编辑的那行加入到~/.bash_profile中,再执行source启用;
或者仍然保留~/.bashrc文件,然后在~/.bash_profile中加入如下代码:123if [ -f ~/.bashrc ]; then source ~/.bashrcfi
意思即判断到有~/.bashrc文件的话, 就source启用它。