别名不能永远保存在Mac上?

时间:2015-12-04 08:08:41

标签: linux macos command-line alias

我想创建自己的别名,以使命令更简单。我添加 alias ll='ls -l'中的~/.bashrc,就像这样:

 ANDROID_NAME=/Users/smy/Library/Android/sdk
 PYTHONPATH=/Library/Python/2.7/site-packages:$PYTHONPATH
 PATH=$ANDROID_NAME/platform-tools:$PYTHONPATH:$PATH

 export ANDROID_HOME
 export PYTHONPATH
 export PATH

 #alias 
 alias ll='ls -l'

当我第一次将此别名添加到此文件时,我执行source命令,如下所示:

source ~/.bashrc

然后在这个命令窗口中,它可以工作,但是当我创建一个新的命令窗口时,它无法识别ll别名,也就是当我执行ll时,这样的错误存在:

-bash: ll: command not found

当我输入source ~/.bashrc时,它会起作用。

所以我的问题是: 为什么每当我输入别名时都无法识别别名,为什么我必须执行source命令才能在新命令窗口打开时使其工作,以及我如何解决这个问题。我和#39;我在Mac上工作,任何人都可以教我这个,谢谢!

3 个答案:

答案 0 :(得分:3)

您需要使用~/.bash_profile~/.profile来登录shell而不是~/.bashrc。来自documentation

  

当Bash作为交互式登录shell或作为具有--login选项的非交互式shell调用时,它首先从文件/etc/profile读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找~/.bash_profile~/.bash_login~/.profile,并从第一个存在且可读的命令中读取和执行命令。

  

当启动不是登录shell的交互式shell时,如果该文件存在,Bash将从~/.bashrc读取并执行命令。

打开新的终端窗口/选项卡时,shell应该作为登录 shell打开。

答案 1 :(得分:1)

将所需的别名插入〜/ .bash_profile和〜/ .bash 转到终端->首选项->常规-> Shell打开->命令(完整路径)-> / bin / bash

答案 2 :(得分:0)

只有一件事对我有用,我还没有看到它被提及。

除了

  1. 确保我的 .bash_profile 文件包含相关的别名
  2. 确保在“终端”>“首选项”>“常规”窗口中选择的 Shell opens with 选项为 /bin/bash

我需要确保每次打开新窗口时都使用 bash -l 加载 bash 配置文件。可能花了 3000 万来寻找这个,所以希望它可以帮助那些正在更新到最新版本的 MacOS 的人(就像今天的你一样)!

enter image description here