Может быть инструмент, который может сделать это изначально, но я смог сделать это с помощью следующей функции:
math_func () {
local _n1=$1
local _op=$2
local _n2=$3
local _p
local _a
if [ "${#_n1}" -gt "${#_n2}" ]; then
_p=${#_n1}
else
_p=${#_n2}
fi
_a=$(echo "scale=0; $_n1 $_op $_n2" | bc -l)
printf "%0${_p}d\n" "$_a"
}
Это также может выполнять вычитание, умножение и деление (, хотя вы должны экранировать оператор умножения, и он не будет обрабатывать числа с плавающей запятой ).
Он проверит длину обоих входных чисел, и в зависимости от того, что больше, будет использоваться для установки нулевого размера заполнения вывода.
Вы называете это следующим образом:
$ math_func 000 + 1
001
$ math_func 000000500 \* 5
000002500
$ math_func 010 / 2
005
$ math_func 2 - 1
1
Есть несколько вариантов, которые я могу придумать:
Метод оболочки
Помимо использования псевдонимов, быстрый и грязный способ — создать сценарий оболочки, который сделает за вас скучную работу:
#!/bin/sh
sudo openvpn /etc/openvpn/client/$1.ovpn
Вероятно, у вас нет миллиардов сценариев настройки, так что это должно работать нормально.
Метод NetworkManager
Если вы используете NetworkManager, вы можете установить пакет networkmanager-openvpn
и использовать nmcli
для импорта файла соединения .ovpn
, как описано в Arch wiki :
nmcli connection import type openvpn file <file.ovpn>
В Gnome и KDE есть приятный графический интерфейс для клиента NetworkManager OpenVPN, если это важно.:-)