В настоящее время я переключаю свойЩит точки доступав Ubuntu 20.04.3 с помощью терминала; hotspotshield connect US
для подключения (к серверу в США) и hotspotshield disconnect
для отключения.
Я хотел бы сопоставить эту функциональность с одной клавишей, чтобы включать и выключать VPN. Я хотел бы использовать hotspotshield status
, который возвращает,
Client is running : no
VPN connection state : disconnected
если клиент не запущен, чтобы оценить, следует ли запустить команды connect
или disconnect
. Я планировал сделать это, передав вывод в hotspotshield status
виде строки и выполнив поиск по "no", поскольку эта строка не отображается в выводе, если клиент не запущен. Однако у меня возникли проблемы с интерпретацией вывода.
Вот мой текущий скрипт (обратите внимание, что я никогда не пробовал ничего подобного в bash):
#!/bin/bash
status=$(hotspotshield status)
if [[status =~ "no"]]; then
hotspotshield connect US
else; then
hotspotshield disconnect
Будем признательны за любые указания!
решение1
Исправленные синтаксические ошибки выглядят примерно так:
#!/bin/bash
status=$(hotspotshield status)
if [[ "$status" =~ no ]]; then
hotspotshield connect US
else
hotspotshield disconnect
fi
Пожалуйста, используйтеShellcheckпрежде чем писать здесь в следующий раз. Спасибо.