我的Bash别名不起作用

时间:2012-07-18 18:35:34

标签: bash shell scripting alias

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

    # 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 '

7 个答案:

答案 0 :(得分:12)

将此添加到.bashrc

的末尾
if [ -f $HOME/.bash_aliases ]
then
  . $HOME/.bash_aliases
fi

答案 1 :(得分:8)

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

答案 2 :(得分:2)

Bash不会查找名为.bash_aliases的文件;你必须明确地采购它。

环顾四周,看来~/.bash_aliases来自Ubuntu框中的默认.bashrc;我没有一个人可以确认。但是,它不是标准的bash配置文件。

答案 3 :(得分:2)

我最近安装了RVM并将我的终端配置文件更改为“run command as login shell”。这会禁用.bashrc加载。

修正:修改 - >个人资料首选项 - >标题和命令 - >将命令作为登录shell运行(取消选中)

查找此帖子了解更多信息,并为我修复。

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

答案 4 :(得分:0)

您需要包含该文件。从默认.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

答案 5 :(得分:0)

有时忘记提供bashrc的资源也会造成此问题。因此,添加别名后,不要忘记提供它的来源。

source ~/.bashrc

答案 6 :(得分:0)

默认

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

这些文件在ubuntu 18,19中的.bashrc文件中可用 实际上,问题在于源文件,因此,通过运行以下命令来获取两个文件的源。我遇到了同样的问题,这就是我解决的方法。

source ~/.bashrc
source ~/.bash_aliases