您是否经常发现自己在命令行上键入一个长命令或在bash历史记录中搜索以前键入的命令?如果您对这些问题的答案都是肯定的,那么您会发现bash别名很方便。Bash别名允许您为较长的命令设置可记忆的快捷命令。
Bash别名本质上是一个快捷方式,可以使您不必记住长命令,并在使用命令行时消除大量的输入。例如,您可以将别名设置tgz为tar -xvfz命令的快捷方式。
本文介绍如何创建bash别名,以便在命令行上提高工作效率。
创建Bash别名在bash中创建别名非常简单。语法如下:
alias alias_name="command_to_run"
要通过键入aliaskeyword 来创建新的bash别名。然后声明别名,后跟等号和您在键入别名时要运行的命令。该命令需要用引号括起来,并且等号周围没有间距。每个别名都需要在新行上声明。
该ls命令可能是Linux命令行中最常用的命令之一。我通常使用此命令与-la开关列出所有文件和目录,包括长列表格式的隐藏文件和目录。
让我们创建一个名为的简单bash别名ll,它将是ls -la命令的快捷方式。为此,请键入打开终端窗口并键入:
alias ll="ls -la"
现在,如果您输入ll控制台,您将获得与输入相同的输出ls -la。
该ll别名将只在当前shell会话可用。如果退出会话或从另一个终端打开新会话,则别名将不可用。
要使别名持久化,您需要在~/.bash_profile或~/.bashrc文件中声明它。~/.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 ~/.bash_profile
如您所见,创建简单的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别名和函数,这将使您在命令行上的生活更轻松,更高效。
如果您遇到问题或有反馈,请在下面留言。