2012-07-18 31 views
4

我不知道爲什麼,但我的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

回答

7

添加到您的.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

1

擊不查找一個名爲.bash_aliases ;你必須明確地提供它。

環顧一下,看起來~/.bash_aliases來源於Ubuntu盒子上的默認.bashrc;我無法使用一個來確認。但是,它不是標準的bash配置文件。

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 
+0

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

7

我最近有類似的問題。該解決方案似乎正在關閉所有打開的shell(root和user;我沒有注意到在編輯我的用戶.bashrc和.bash_aliases文件時,我正在運行最小化的root shell)。 .bash_aliases文件似乎被讀取。

+0

這解決了我的問題。謝謝 – user844541 2014-09-04 06:10:17