您是否经常发现自己在命令行上键入一个长长的命令或在bash历史记录中搜索以前键入的命令?
如果您对这些问题的答案都是肯定的,那么您会发现bash别名会很方便。Bash别名允许您为长长的命令设置便于记忆的快捷命令。
Bash alias别名本质上是一个快捷方式,可以使您不必记住长长的命令,并在使用命令行时消除大量的输入。
例如,您可以为tar -xvfz
命令的别名设置tgz
的快捷方式。本教程介绍如何创建bash别名,让你在命令行上提高工作效率。
在bash,创建别名非常简单。这是alias alias_name="command_to_run"
创建别名的语法。
alias alias_name="command_to_run"
alias
关键词用于创建bash别名。接着是声明别名的名称,后跟等号和你要运行的命令。
命令需要用引号括起来,并且等号周围没有间距。每个别名都需要在新的一行上声明。
ls
命令可能是Linux命令行中最常用的命令之一。我通常使用ls命令与-la
选项列出所有文件和目录,长列表格式的隐藏文件和目录。
现在我们为ls -al
命令创建bash别名ll
,它将成为ls -la
命令的快捷方式。请在你的终端运行命令alias ll="ls -la"
创建bash别名。
alias ll="ls -la"
现在,如果你在终端您输入ll
,您将获得与输入ls -la
相同的输出。
使用alias命令创建的ll
别名只在当前shell会话可用。如果退出shell会话或从另一个终端打开新会话,则别名ll
不可用。
要使别名持久化,您需要在~/.bash_profile
或~/.bashrc
文件中声明它。如果你使用的是Zsh,则对应的配置文件是~/.zshrc
。
使用你喜欢的文本编辑器,在本教程中,我们将使用vim打开文件~/.bashrc
。
vim ~/.bashrc
您应该使用易于记忆的名称命名别名。我们建议你加注释以供将来参考。完成后,保存文件并退出vim。
现在我们已经修改Bash的配置文件,我们需要将bash的配置文件加载到当前会话中的,使别名可用于当前shell会话。运行命令source ~/.bashrc
。
source ~/.bashrc
如您所见,创建简单的bash别名非常简单快捷。如果要使.bashrc
更加模块化,可以将别名存储在独立的文件.bash_aliases
。
最后在在~/.bashrc
文件使用source
命令加载.bash_aliases
文件。
Bash别名 参数
有时您可能需要创建接受一个或多个参数的别名,这时候就需要使用bash函数。创建bash函数的语法非常简单。它们可以有两种不同的格式声明。
要将任意数量的参数传递给bash函数,只需在运行函数将参数放在函数名称后面,参数使用空格分隔。
在函数,可以使用$1
,$2
,$3
的格式获取在运行函数时指定的参数,1....100对应参数函数名后的位置。$0
变量保留给函数名。
function_name () {
[commands]
}
function function_name {
[commands]
}
现在创建一个简单的bash函数mkcd,它将根据参数创建目录,然后运行cd命令切换到该目录。
与创建别名一样,将函数添加到~/.bashrc
文件后同样需要运行source ~/.bashrc
加载mkcd函数。
现在,运行mkcd
函数,mkcd将会自动创建目录并切换到该目录。
source ~/.bashrc
mkcd new_directory
如果你想知道什么是--
,&&
这里是一个简短的解释。
--
确保您不会意外地向命令传递额外的参数。&&
确保第二个命令仅在第一个命令成功时运行。
至此,您应该对如何创建bash别名和函数有一个很好的理解,这将使您在命令行的使用变得更轻松,更高效。如果您有任何问题或反馈,请随时发表评论。