个性化阅读
专注于IT技术分析

bash别名alias

点击下载

本文概述

我们在操作命令行界面时会使用大多数命令。大多数命令是习惯性命令,人们每天可能以相同的方式运行这些命令。但是,我们在Bash中有一个选项可以在别名的帮助下创建自己的快捷方式,这将通过使用缩写名称来消除不必要的输入。

Bash Alias用于为较长的命令设置快捷方式命令。使用alias命令可以使用一个单词启动任何命令或设置命令。例如,我们可以将命令“ cc”设置为“清除”命令的快捷方式。使用“ cc enter”比键入“ clear”命令要快得多。

别名通常在〜/ .bash_profile或〜/ .bashrc文件中声明。

“ .bash_profile和.bashrc文件被称为bash shell的配置文件。所有bash配置(例如所有终端会话,由环境变量,默认目录,颜色,bash主题组成的配置)都是存储在配置文件中。对于终端会话,配置文件的名称通常为“ .bashrc”,对于登录shell,名称为“ .bash_profile”。

Bash别名结构

bash别名包含以下结构:

alias [alias_name]="[command_to_alias]"

使用’alias’关键字在新行中定义了新别名。我们需要使用别名名称定义一个要使用的快捷方式命令,后跟一个等号。然后,键入要在引号中运行的完整命令。相邻元素和等号之间不应有间距。记住这一点很重要;否则,该命令将被破坏。

创建Bash别名

在bash中创建别名很简单。我们可以按照上面显示的结构在命令行中声明别名。

现在让我们从一个简单的bash别名开始。许多人用来获取所有文件和目录(包括隐藏文件)列表的常用命令之一是“ ls -la”。我们可以通过在终端中键入以下命令来创建快捷方式“ ll”来执行“ ls -la”操作:

alias ll="ls -la"

现在,如果在终端中键入别名“ ll”,我们将以长格式收到所有文件和目录的列表,类似于“ ls -la”命令。

注意:请注意,如果我们使用这种方式通过终端设置别名,则别名仅可用于当前的shell会话。当我们打开一个新的终端窗口时,别名将不可用。

如果要使已定义的别名持久化,则必须将其添加到启动Shell会话时读取的文件之一。正如我们前面提到的,最常见的选择是〜/ .bash_profile或〜/ .bashrc。我们需要打开任何这些文件并在其中添加别名。

为别名分配此类名称是一个好习惯,这种名称很容易记住。还建议添加一条注释,声明与bash别名相关的整个功能,以供将来参考。

如果要使.bashrc文件更具模块化,则可以将别名放在单独的文件中,即〜/ .bash_aliases。我们需要确保代码出现在〜/ .bashrc文件中:

if [ -e $HOME/.bash_aliases ]; then
source $HOME/.bash_aliases
fi

删除/删除Bash别名

要删除别名,我们需要使用以下结构:

unalias [alias_name]="[command_to_alias]"

要删除上面创建的“ ll”别名,我们可以使用unalias命令:

unalias ll

“ ll”别名将被删除。

如果在〜/ .bash_profile或〜/ .bashrc中声明了别名,只需使用文本编辑器编辑文件,然后从那里删除那些别名即可。

列出Bash别名

我们可以在终端中使用“ alias”命令列出所有已配置的别名,而无需任何参数:

alias

它看起来像这样:

具有参数的Bash别名(Bash函数)

在某些情况下,我们可能需要接受一个或多个参数的别名。在这种情况下,bash函数很有用。

以下是创建bash函数的语法。可以用两种不同的格式声明它:

function_name  () {
	[commands]
}

要么

function function_name {
	[commands]
}

要将任意数量的参数传递给bash函数,我们可以简单地将其放在函数名称后,并以空格分隔。传递的参数可以是$ 1,$ 2,$ 3等。它通常取决于参数在函数名称后的相应位置。 $ 0变量保留为函数名使用。

现在,我们将创建一个简单的bash函数,该函数将创建一个目录,然后在不使用’mkdir’和’cd’命令的情况下导航至该目录:

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

就像别名一样,我们需要将该函数添加到〜/ .bashrc文件中,并运行source〜/ .bash_profile重新加载该文件。在这里,AND运算符(

现在,我们可以创建一个新目录,然后使用以下命令移至该目录:

mkcd new_directory

因此,别名是减少重复输入长命令的数量的绝佳选择。


赞(0)
未经允许不得转载:srcmini » bash别名alias

评论 抢沙发

评论前必须登录!