我的Bash别名不起作用

ste*_*her 8 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
Run Code Online (Sandbox Code Playgroud)

这是我的.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 '
Run Code Online (Sandbox Code Playgroud)

Sea*_*ght 14

将此添加到您的结尾.bashrc:

if [ -f $HOME/.bash_aliases ]
then
  . $HOME/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)

  • 如果您打算在需要引用$ HOME的系统上工作以确保安全,您应该检查一个庇护所; 不管怎样,你很快就会在那里结束. (11认同)
  • 如果您打算使用"$ HOME"而不是代字号,则应引用它以确保安全. (8认同)
  • 您确定您的`.bashrc`文件是源文件吗?在该文件的开头添加`set -x`。将来的shell将在启动时打印一长串正在执行的内容。您将能够查看它是否正在处理您的`alias`命令。 (2认同)

小智 8

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


小智 7

默认情况下

if [ -f ~/.bash_aliases ]; then
.  ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)

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

source ~/.bashrc
source ~/.bash_aliases
Run Code Online (Sandbox Code Playgroud)