如何创建Bash别名?


189

我在OSX上,需要alias blah="/usr/bin/blah"在配置文件中放入类似的内容,但我不知道配置文件在哪里。


切线地,这个特殊的别名基本上是多余的,除非您专门尝试覆盖PATH此特定命令的shell 分辨率。如果/usr/bin在您的位置PATH(确实必须在其中),那么blah也可以在没有该别名的情况下从那里正常运行,除非在您的位置也有/usr/local/bin/blah/usr/local/bin之前/usr/binPATH 您仍然希望使用,/usr/bin/blah并且由于某些原因而不能简单地删除或重命名/usr/local/bin/blah
Tripleee '18

即便如此,这还是一个可疑的,棘手的解决方案,它应该带有一个丑陋的胖胖评论,并带有警告消息,告诉您这将如何咬伤您身材匀称的小腹,每次发生时都说“我告诉过您”。
Tripleee '18

1
对于所有自动化爱好者:我亲自添加 addAlias() { echo "alias $1='$2' " >> ~/.bash_profile 到bash_profile中,然后找到它并运行 addAlias hi 'echo "hi" '。源bash配置文件,然后键入hi以查看它。
devssh

Answers:


268

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

由于这些文件是隐藏的,因此您将必须ls -a列出它们。如果您没有,则可以创建一个。


如果我没记错的话,当我购买Mac时,.bash_login文件不存在。我不得不为自己创建它,这样我可以把prompt infoaliasfunctions等它。

如果要创建一个,请按以下步骤操作:

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

8
太好了,谢谢@jaypal!该命令是否source .bash_profile可以替代步骤5?
伊恩·坎贝尔

10
是的,在我的OSX Mavericks上.bash_profile,我的主目录中没有。创建它,向其添加别名,然后使用该. .bash_profile命令将其启动。
Bradley Flood

1
.bash_profile对我有用!:) .bashrc并未登上El Capitan
Parth

5
在OSX上,El Capitan .bash_profile可以工作。如果在打开终端窗口时未自动加载,则可能是因为它是在没有可执行权限的情况下创建的。该命令将对其进行修复,并将自动为以后的会话加载:chmod u+x .bash_profile
Mischinab

1
.bash_profile配置文件已锁定我如何更新此文件
阿米特·古普塔


31

我只是打开zshrc并对其进行了编辑。

subl .zshrc

并将其添加到崇高:

alias blah="/usr/bin/blah"

在终端中运行:

source ~/.bashrc

做完了


4
这很困惑。如果您的shell是Bash,则此页面上的许多其他答案将更为详细和有用。如果使用Zsh而不是Bash,那么显然您应该source .zshrc最后加载对当前正在运行的Shell实例所做的更改。
Tripleee '18

18

在我的.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文件,您将可以识别平台中别名常用的文件是什么。


如果打开终端窗口时配置文件没有自动加载,则可能缺少可执行文件权限。此命令将对其进行修复,并将自动为以后的会话加载:chmod u+x .bash_profile
Mischinab

1
@Mischinab不,该文件只需要可读即可Bash读取它作为其配置文件。从技术上讲,使其可执行无害,但不必要。我会以非技术性的理由阻止它(您可能最终会混淆自己和/或其他人)。
三人房

9
cd /etc
sudo vi bashrc

添加如下内容:

alias ll="ls -lrt"

最后重启终端。


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

8

它在macOS Majave上对我有效

您可以执行一些简单的步骤:

1)打开终端

2) sudo nano /.bash_profile

3)添加您的别名,例如:

# some aliases
alias ll='ls -alF'
alias la='ls -A'
alias eb="sudo nano ~/.bash_profile && source ~/.bash_profile"
#docker aliases
alias d='docker'
alias dc='docker-compose'
alias dnax="docker rm $(docker ps -aq)"
#git aliases
alias g='git'
alias new="git checkout -b"
alias last="git log -2"
alias gg='git status'
alias lg="git log --pretty=format:'%h was %an, %ar, message: %s' --graph"
alias nah="git reset --hard && git clean -df"
alias squash="git rebase -i HEAD~2"

4) source /.bash_profile

做完了 使用和享受!


7

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

我认为最好的方法是将所有内容都放入其中~/.bashrc

对于您的特定问题,只需输入(这将覆盖任何现有的〜/ .bashrc):

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

进入终端,~/.bashrc将使用新的别名创建一个文件。之后,只需编辑文件即可添加新的别名,功能,设置等。


5
您是否应该使用>>代替而不是>将其附加到文件中而不是替换其中的所有内容?
Jonny

6
  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并按Enter


4

如果输入blah="/usr/bin/blah"~/.bashrc则可以$blah在登录shell中使用它来代替输入/usr/bin/blah


在这里,美元符号显然不是必需的,有用的或正确的。
Tripleee '18

4

MacOS Catalina及以上

Apple 刚刚将其默认Shell 切换zsh,因此配置文件包括~/.zshenvand ~/.zshrc。就像~/.bashrc,但是对于zsh。只需编辑文件并添加所需内容即可;每次打开新的终端窗口时,都应提供该来源:

nano ~/.zshenv alias py=python

然后按ctrl + x,y,然后输入保存。

该文件似乎无论执行什么操作(登录,非登录或脚本)都可以执行,因此似乎比该~/.zshrc文件更好。

高塞拉山脉和更早的地方

默认的shell是bash,您可以编辑文件~/.bash_profile并添加别名:

nano ~/.bash_profile alias py=python

然后按ctrl + x,y,然后输入保存。有关这些配置的更多信息,请参见这篇文章。最好使用别名设置~/.bashrc,然后~/.bashrc从来源进行设置~/.bash_profile。在~/.bash_profile这则看起来像:

source ~/.bashrc


3

您可能要编辑.bashrc主目录中的文件。


1

在用户根目录创建一个bash_profile-ex

/user/username/.bash_profile

打开文件

vim〜/ .bash_profile

添加别名为ex。(保存并退出)

alias mydir="cd ~/Documents/dirname/anotherdir"

在新终端中,只需键入mydir-它应该打开

/user/username/Documents/dirname/anotherdir

0

我认为这是正确的方法:

1)转到终端。open ~/.bashrc。如果不存在则添加

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

2)open ~/.bash_aliases。如果不存在:touch ~/.bash_aliases && open ~/.bash_aliases

3)要添加新别名而不是
编辑.bash_aliases文件,然后重新启动终端或在别名为的位置打印source ~/.bash_aliases
-打印。echo "alias clr='clear'" >> ~/.bash_aliases && source ~/.bash_aliasesalias clr='clear'

4)source ~/.bash_aliases~/.bash_profile文件中添加行。它需要在终端的每个init中加载别名


0

对于macOS Catalina用户:

步骤1:建立或更新.zshrc档案

vi ~/.zshrc

第2步:添加别名行

alias blah="/usr/bin/blah"

步骤3:源.zshrc

source ~/.zshrc 

步骤4:通过在命令提示符下键入alias来检查您是否为别名

alias

0

要创建永久别名快捷方式,请将其放在.bash_profile文件中,然后将.bashrc文件指向.bash_profile文件。请遵循以下步骤(我正在创建一个名为bnode的别名命令,以在ES6代码上运行babel transpiler):

  1. 转到终端命令提示符,然后键入“ cd”(这将带您到主目录。注意:即使您的编程文件可能位于“ D:驱动器”上,您的“ .bash”文件也可能位于您的“ C:驱动器”)
  2. 要查看主目录的位置,请键入“ pwd”(这将向您显示主目录路径以及.bash文件可能位于的位置)
  3. 要查看所有点“。” 主目录中的文件,键入“ ls -la”(这将显示所有文件,包括隐藏的点“。”文件)
  4. 您将看到2个文件:“。bash_profile”和“ .bashrc”
  5. 在VS Code编辑器或您的IDE中打开.bashrc文件,并在第一行中输入“ source〜/ .bash_profile”(将.bashrc文件指向.bash_profile)
  6. 在VS代码编辑器中打开.bash_profile文件,然后输入“ alias bnode ='。/ node_modules / .bin / babel-node'”(以创建永久性的bnode快捷方式,作为bash命令执行)
  7. 保存并关闭两个文件
  8. 现在打开要执行的文件(index.js),并在终端命令提示符下打开并使用命令“ bnode index.js”运行文件
  9. 现在您的index.js文件将执行,但是在.bash_profile文件中创建bnode别名之前,您会收到错误“ bash:未找到bnode命令”,并且它无法识别某些ES6代码并给出错误。
  10. 学习点文件的有用链接:https ://dotfiles.github.io/

我希望这有帮助!祝好运!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.