Bash教程

Bash 别名

Bash 别名

我们在操作命令行界面时使用的大多数命令。大多数命令都是习惯性的,人们可能每天都以同样的方式运行这些命令。但是,我们在 Bash 中有一个选项可以在别名的帮助下创建我们自己的快捷方式,这将通过使用缩短的名称来消除多余的输入。
Bash Alias 用于为更长的命令设置快捷命令. alias 命令允许我们使用单个单词启动任何命令或设置命令。例如,我们可以将命令"cc"设置为"clear"命令的快捷方式。使用"cc + enter"比键入"clear"命令要快得多。
别名通常在~/.bash_profile或~/.bashrc中声明文件。
.bash_profile和.bashrc文件被称为bash shell的配置文件。所有的bash配置,比如所有的终端会话,包括环境变量、默认目录、颜色、bash主题等的配置都存储在配置文件中,终端会话的配置文件名通常是".bashrc"和".bash_profile"用于登录 shell。"

Bash 别名结构

bash 别名包含以下结构:
alias [alias_name]="[command_to_alias]"
一个新的别名是用'alias'关键字在新行上定义的。我们需要定义要使用别名的快捷命令,后跟等号。然后,我们在引号内键入要运行的完整命令。相邻元素和等号之间不应有间距。记住这一点很重要;否则,命令将被破坏。

创建 Bash 别名

在 bash 中创建别名很简单。我们可以按照上面显示的结构在命令行中声明别名。
现在让我们从一个简单的 bash 别名开始。许多人用来获取所有文件和目录(包括隐藏文件)列表的常用命令之一是"ls-la"。我们可以通过在终端中输入以下命令来创建快捷方式"ll"来执行"ls-la"操作:
alias ll="ls-la"
现在,如果我们在终端中输入别名"ll",我们将收到类似于"ls-la" 命令。
Bash Alias
注意: 需要注意的是,如果我们使用这种方式通过终端设置别名,则别名将仅对当前shell会话可用。当我们打开一个新的终端窗口时,别名将不可用。
如果我们想让定义的别名持久化,我们必须将它添加到 shell 会话启动时读取的文件之一中。正如我们之前提到的,最常见的选择是 ~/.bash_profile 或 ~/.bashrc。我们需要打开任何这些文件并在那里添加别名。
Bash Alias
这是一个为别名分配这样的名称的好习惯,这些名称很容易记住。还建议添加一个注释,声明与 bash 别名相关的整个函数以供将来参考。
如果我们想让我们的 .bashrc 文件更加模块化,那么我们可以将别名放在一个单独的文件中,即,~/.bash_aliases。我们需要确保代码出现在 ~/.bashrc 文件中:
if [-e $HOME/.bash_aliases ]; then
source $HOME/.bash_aliases
fi

Remove/Delete a Bash Alias

要移除别名,我们需要使用以下结构:
unalias [alias_name]="[command_to_alias]"
要删除我们上面创建的"ll"别名,我们可以使用 unalias 命令:
unalias ll

Bash Alias
"ll"别名将被删除。
如果别名在 ~/.bash_profile 或 ~/.bashrc 中声明,只需使用文本编辑器编辑文件并从那里删除这些别名。

列出 Bash 别名

我们可以在没有任何参数的终端中使用"alias"命令列出所有配置的别名:
alias
它看起来像这样:
Bash Alias

Bash Aliases with参数(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

Bash Alias
因此,别名是减少长命令输入量的绝佳替代方案重复。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4