![如何赋予命令特定名称并在稍后调用它的名称](https://linux22.com/image/1019892/%E5%A6%82%E4%BD%95%E8%B5%8B%E4%BA%88%E5%91%BD%E4%BB%A4%E7%89%B9%E5%AE%9A%E5%90%8D%E7%A7%B0%E5%B9%B6%E5%9C%A8%E7%A8%8D%E5%90%8E%E8%B0%83%E7%94%A8%E5%AE%83%E7%9A%84%E5%90%8D%E7%A7%B0.png)
是否可以为命令指定一个特定名称并按其名称调用它,而不是在终端中输入整个命令?例如,当我想启动 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
。
在主目录中创建
sh
脚本文件,例如vpn.sh
用脚本命名:#!/bin/bash #vpn connection openvpn3 session-start --config /home/user1/Downloads/myconfiguration.ovpn
并保存。您可以用适当的路径替换任何 vpn 的启动命令。
现在在终端中运行:
sh vpn.sh
就是这样。您应该已连接。