如何在 BASH 或 ZSHRC shell 中创建命令快捷方式?

Leo*_*ban 4 bash zsh shell command-line oh-my-zsh

我知道如何创建一个alias或一个PATH,但是它们都用于导航文件夹。

您将如何创建一个快捷方式来表示每次都快速键入以下命令?

模拟=tail -f /var/log/apache2/error_log

开始=sudo apachectl restart

因此,类似于gitsvn命令工作方式的快捷方式

ken*_*orb 9

alias仅用于导航文件夹是不正确的。它也可以用于其他命令(这就是它被称为 的原因alias)。

在示例中:

alias arestart='sudo apachectl restart'
alias alog='tail -f /var/log/apache2/error_log'
Run Code Online (Sandbox Code Playgroud)

并将它们放在~/.bashrc或中~/.bash_profile

或者您可能希望将所有别名定义放入一个单独的文件中,例如 ~/.bash_aliases(查看 bash-doc 包中的 bash-doc/examples 以了解详细信息)。您可以在您的文件中包含别名定义,~/.bashrc如下所示:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用 bash 函数,其工作方式类似于别名(支持参数)。例如:

# Restart apache
# Usage: arestart
arestart() {
  sudo apachectl restart
}

# Show log via tail.
# Usage: alog (file)
alog() {
  tail -f "$1"
}

# Find file
# Usage: ff (file)
ff() {
  find . -name "$1"
}

# Search in command history.
# Usage: hs (string)
hs() {
  history | grep "$1"
}
Run Code Online (Sandbox Code Playgroud)