2012-01-23 138 views
109

我在OSX上,我需要把这样的东西,alias blah="/usr/bin/blah"在配置文件中,但我不知道配置文件在哪里。如何创建Bash别名?

+1

你的意思'.bash_profile'? – Kjuly

+0

切线方面,这个特殊的别名基本上是多余的,除非你特别试图为这个特定命令覆盖他shell的'PATH'分辨率。如果'/ usr/bin'在你的'PATH'中(这真的是它必须的),那么'blah'将从那里运行,没有这个别名,除非也有'/ usr/local/bin/blah '/ usr/local/bin'在你的'PATH' *中的'/ usr/bin'之前,但是你仍然想要'/ usr/bin/blah',并且不能因为某种原因而简单地删除或重命名'/ usr/USR/local/bin目录/ blah'。 – tripleee

+0

即使这是一个可疑的,骇人听闻的解决方案,应该带有一个大的丑陋的评论,并带有警告信息,告诉你这将如何咬你的小腹部,以及每次发生这种情况时的另一个说法“我告诉过你”。 – tripleee

回答

171

你可以在你的启动脚本文件中添加一个aliasfunction。通常这是您的主目录中的.bashrc.bash_login.profile文件。

由于这些文件被隐藏,您将不得不做一个ls -a来列出它们。如果你没有你可以创建一个。


如果我没记错,当我买了我的Mac时,.bash_login文件不在那里。我必须为自己创建它,以便我可以将prompt infoalias,functions等放在其中。

下面是步骤,如果你想创建一个:

  1. 启动终端
  2. 类型cd ~/去你的主文件夹
  3. 类型touch .bash_profile来创建新的文件。
  4. 编辑.bash_profile用你喜欢的编辑器(或者你可以键入open -e .bash_profile在TextEdit中打开它。
  5. 类型. .bash_profile重装.bash_profile和更新您添加的任何别名。
+3

太棒了,谢谢@ jaypal!命令“source .bash_profile”是第5步的替代方法吗? –

+9

是的,在我的OSX小牛队中,我的主目录中没有'.bash_profile'。创建它,向它添加别名,然后用'启动它。 。bash_profile'命令起作用。 –

+0

.bash_profile适合我! :) .bashrc没有在El Capitan – Parth

3

如果你把你的blah="/usr/bin/blah"然后~/.bashrc您可以使用您的登录shell作为替补$blah打字/usr/bin/blah

+0

美元符号在这里没有任何必要,有用或正确的地方。 – tripleee

2

你可能要编辑的.bashrc文件在你的home目录。

9

在我.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 

因此,在我的平台.bash_aliases是默认使用的别名文件(以及我使用的文件)。我不是OS X的用户,但我想如果你打开你的.bashrc文件,你将能够确定平台中别名常用的文件是什么。

+2

这对osx无效,但在Ubuntu中工作 – toobsco42

+0

这对我很好用,OS X 10.10 – kibin

+0

如果在打开终端窗口时配置文件不会自动加载,它可能会丢失可执行权限。这个命令将修复它,并且它会自动加载到将来的会话中:'chmod u + x .bash_profile' – Mischinab

5

脚本和程序的配置文件是~/.bashrc,使用终端时加载的配置文件是~/.bash_login

我认为最好的办法就是在~/.bashrc

为了您的具体问题,只需输入(这将覆盖任何现有的〜/ .bashrc):

echo "alias blah=\"/usr/bin/blah\"" >>~/.bashrc 

到终端和~/.bashrc文件将与您的新alises创建。之后,只需编辑该文件以添加新的别名,功能设置等

+3

不应该使用'>>'而不是'>'以便它附加到文件而不是替换它中的所有内容? – Jonny

7
cd /etc 
sudo vi bashrc 

添加如下所示:

alias ll="ls -lrt" 

最后重新启动终端。

+0

添加别名后。在'.bash_profile'文件上运行'source'。 例如:source〜/ .bash_profile(激活/重新加载bash别名的命令) – UIResponder

13

我只需用sublime打开zshrc,然后编辑它。

subl .zshrc 

并添加以下的崇高:在终端

alias blah="/usr/bin/blah" 

运行以下命令:

source ~/.bashrc 

完成。

+0

这很混乱。如果你的shell是Bash,这个页面上的许多其他答案更加详细和有用。如果你使用Zsh而不是Bash,那么显然你应该在最后加上'source .zshrc'来加载你对当前运行的shell实例所做的修改。 – tripleee

0
  1. 转到家里
  2. 开放的.bashrc
  3. 在文件

    alias alias_name='command to do' 
    eg: alias cdDesktop='cd /Desktop' 
    
  4. 保存文件的底部创建别名

  5. 源的.bashrc

    source ~/.bashrc 
    
  6. 打开终端(按Ctrl + Alt + T)&型cdDesktop &按回车