如何创建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终端