如何创建Bash别名

您是否经常发现自己在命令行上键入了一个长命令,或者在bash历史记录中搜索了先前键入的命令? 如果您对这些问题中的任何一个的回答为“是”,那么您将发现bash别名很方便。 Bash别名使您可以为较长的命令设置一个令人难忘的快捷方式命令。

Bash别名实际上是快捷方式,可以使您不必记住长命令,并且在使用命令行时无需进行大量键入操作。 例如,您可以设置别名 tgz 成为 tar -xvfz 命令。

本文介绍了如何创建bash别名,以便您可以在命令行上提高工作效率。

创建Bash别名

在bash中创建别名非常简单。 语法如下:

alias alias_name="command_to_run"

别名声明以 alias 关键字,后跟别名名称,等号以及键入别名时要运行的命令。 该命令需要用引号引起来,并且等号之间不能有空格。 每个别名都需要在新行中声明。

ls command可能是Linux命令行上最常用的命令之一。 我通常将此命令与 -la 切换以列出所有文件和目录,包括长列表格式的隐藏文件和目录。

让我们创建一个简单的bash别名,名称为 ll 这将是 ls -la 命令。 为此,请打开终端窗口并键入:

alias ll="ls -la"

现在,如果您输入 ll 在终端中,您将获得与输入相同的输出 ls -la

ll 别名仅在当前的shell会话中可用。 如果退出会话或从另一个终端打开新会话,则别名将不可用。

要使别名持久化,您需要在 ~/.bash_profile 要么 ~/.bashrc 文件。

在文本编辑器中打开文件:

nano ~/.bashrc

并添加别名:

〜/ .bashrc

# Aliases
# alias alias_name="command_to_run"

# Long format list
alias ll="ls -la"

# Print my public IP
alias myip='curl ipinfo.io/ip'

别名的命名方式应易于记忆。 还建议添加评论以供将来参考。

完成后,保存并关闭文件。 通过输入以下命令使别名在当前会话中可用:

source ~/.bashrc

如您所见,创建简单的bash别名既快捷又容易。

如果你想做你的 .bashrc 更模块化的是,您可以将别名存储在单独的文件中。 某些发行版(例如Ubuntu和Debian)包括 .bash_aliases 文件,该文件来自 ~/.bashrc

使用参数创建Bash别名(Bash函数)#

有时您可能需要创建一个接受一个或多个参数的别名。 这就是bash函数派上用场的地方。

创建bash函数的语法非常简单。 可以用两种不同的格式声明它们:

function_name () {
  [commands]
}

要么

function function_name {
  [commands]
}

要简单地将任意数量的参数传递给bash函数,请将其放在函数名称之后,并以空格分隔。 传递的参数是 $1$2$3等等,与函数名称后的参数位置相对应。 的 $0 变量是为函数名称保留的。

让我们创建一个简单的bash函数,该函数将创建一个目录,然后导航到其中:

〜/ .bashrc

mkcd ()
{
  mkdir -p -- "$1" && cd -P -- "$1"
}

与别名相同,将功能添加到您的 ~/.bashrc 归档并运行 source ~/.bash_profile 重新加载文件。

现在,而不是使用 mkdir 创建一个新目录,然后 cd 要移至该目录,只需键入:

mkcd new_directory

如果你想知道是什么 --&& 这是一个简短的解释。

  • -- -确保您不会意外将额外的参数传递给命令。 例如,如果您尝试创建以以下内容开头的目录 - (破折号)而不使用 -- 目录名称将被解释为命令参数。
  • && -确保仅在第一个命令成功时才运行第二个命令。

结论#

到目前为止,您应该对如何创建bash别名和函数有很好的了解,这些别名和函数将使您在命令行上的生活更轻松,更高效。

如果您有任何疑问或反馈,请随时发表评论。

bash终端

Sidebar