我的Bash别名不起作用

问题描述:

我不知道为什么,但我的Bash别名似乎不起作用。这是我的.bashrc文件我的Bash别名不起作用

# v 0.0.1 - 7/03/12 

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting 

# expanding history to 10000 commands 
export HISTSIZE=10000 

# don't store repeated commands more than once 
export HISCONTROL=ignoredups 

# where to look for Java 
export JAVA_HOME=/Library/Java/Home 

# tomcat server configuration 
export CATALINA_HOME=/usr/local/apache-tomcat-6.0.35 

# default editor 
export EDITOR=vim 

if [ -f ~/.bash_aliases ]; then 
    . ~/.bash_aliases 
fi 

这里是我的.bash_aliases文件

# v 0.0.1 - 7/03/12 

# aliases for directory traversal 
alias ..='cd ../' 
alias ...='cd ../../' 
alias ....='cd ../../../' 

alias gs='git status ' 
alias ga='git add ' 
alias gb='git branch ' 
alias gc='git commit' 
alias gd='git diff' 
alias go='git checkout ' 
alias gk='gitk --all&' 
alias gx='gitx --all' 

alias got='git ' 
alias get='git ' 
+1

我喜欢你的get/got别名。作为一个错字大师,我借用它们。另外,你不应该需要别名中的尾部空格。 – 2014-09-23 02:41:09

添加到您的.bashrc结束:

if [ -f $HOME/.bash_aliases ] 
then 
    . $HOME/.bash_aliases 
fi 
+7

如果您打算使用“$ HOME”而非代字号,则应该引用它以确保安全。 – 2012-07-18 19:04:34

+6

如果您打算为了安全起见而需要引用$ HOME的系统,您应该检查一个避难所;无论如何,你很快就会到达那里。 – 2012-07-18 19:42:05

+0

@WilliamPursell但是,当你知道你想要将某些东西作为单个参数进行解析时,为什么要让shell做一轮字符串分割呢? – 2012-07-18 20:35:24

击不查找一个名为.bash_aliases ;你必须明确地提供它。

环顾一下,看起来~/.bash_aliases来源于Ubuntu盒子上的默认.bashrc;我无法使用一个来确认。但是,它不是标准的bash配置文件。

您需要包含该文件。从默认的.bashrc文件中这样做的示例代码如下:

# Alias definitions. 
# You may want to put all your additions into a separate file like 
# ~/.bash_aliases, instead of adding them here directly. 
# See /usr/share/doc/bash-doc/examples in the bash-doc package. 

if [ -f ~/.bash_aliases ]; then 
    . ~/.bash_aliases 
fi 
+0

同样的事情,但更简洁:'[-f〜/ .bash_aliases] &&。 〜/ .bash_aliases' – 2012-07-18 19:05:23

我最近有类似的问题。该解决方案似乎正在关闭所有打开的shell(root和user;我没有注意到在编辑我的用户.bashrc和.bash_aliases文件时,我正在运行最小化的root shell)。 .bash_aliases文件似乎被读取。

+0

这解决了我的问题。谢谢 – user844541 2014-09-04 06:10:17

我最近安装了RVM,并将我的终端配置文件更改为“作为登录shell运行命令”。这从加载禁用.bashrc。

修复:编辑 - >配置偏好 - >标题和命令 - >运行命令登录shell(选中)

找到这个职位的更多信息,固定对我来说。

https://askubuntu.com/questions/161249/bashrc-not-executed-when-opening-new-terminal

+0

它为我工作。谢谢! – 2013-12-11 01:32:45