如何赋予命令特定名称并在稍后调用它的名称

如何赋予命令特定名称并在稍后调用它的名称

是否可以为命令指定一个特定名称并按其名称调用它,而不是在终端中输入整个命令?例如,当我想启动 openvpn 会话时,我必须在终端中输入此命令

$ openvpn3 session-start --config /home/user1/Downloads/myconfiguration.ovpn

有没有办法给它起个名字vpn-start,然后用它的名字调用这个命令?谢谢

答案1

您可以创建一个别名为了它

运行命令 vim ~/.bashrc打开.bashrc并添加alias shortName="your command here"

根据您的情况,添加:

alias vpn-start="openvpn3 session-start --config /home/user1/Downloads/myconfiguration.ovpn"

然后您可以使用vpn-start快捷方式打开 VPN 会话

答案2

有(至少)三种方法可以做你想做的事情。

  • 创建别名。这些通常用于简单的命令替换或单行命令。附加参数添加到命令末尾。它们通常放在 中,当您打开新终端时~/.bash_aliases会调用它。~/.bashrc

    alias name='command arguments'
    
  • 创建 bash 函数。这些函数通常在脚本中使用。如果放入 中~/.bashrc,用户可以直接调用它们。脚本中可以引用 中的参数,以便不同的命令可以对它们进行操作。

    function name {
        command1 "$2"
        command2 "$1"
    }
    
  • 在您的路径中创建一个脚本文件(例如~/.local/bin/script.sh)。不要忘记chmod +x

    #!/usr/bin/env sh
    
    command1 "$1"
    shift
    command2 "$1"
    shift
    command3 "$@"
    

答案3

我一直在使用类似xiota 提到很长一段时间,但简化了很多。我已经将它与 3 个 VPN 一起使用,包括 openvpn,它运行良好。您只需要一个文本编辑器和命令sh

  1. 在主目录中创建sh脚本文件,例如vpn.sh用脚本命名:

    #!/bin/bash
    #vpn connection
    
    openvpn3 session-start --config /home/user1/Downloads/myconfiguration.ovpn
    

并保存。您可以用适当的路径替换任何 vpn 的启动命令。

现在在终端中运行:

sh vpn.sh

就是这样。您应该已连接。

相关内容