Вы можете удалить новые строки из любого потока с помощью tr -d '\n'
. В вашем случае
(seq -s '' 1 9 ; echo -n 0; seq -s '' 1 9) | tr -d '\n'
В то время как другие ответы могут быть сосредоточены на изменении вашего исходного подхода, это способ, который должен просто удалять символы новой строки независимо от того, что было до |
.
Вы также можете сделать это с помощью простого скрипта bash
#!/bin/bash
sites=("UK#13" "US-VA#2" "US-CA#1" "US-CA#2" "US-NJ#9")
while true;
do
for site in ${sites[@]};
do
echo "Connecting to $site"
sleep 1
done
done
Измените sleep 1
на sleep 3600
и добавьте команду protonvpn вместо echo
.
Достаточно простого сценария переключения и файла конфигурации, запущенного в cron или systemd -таймере .
#!/usr/bin/env bash
set -euo pipefail
SWITCHFILE='/tmp/switch'
switch_to="$(head -1 $SWITCHFILE)"
sed -i '1d' "$SWITCHFILE"
echo "$switch_to" >> "$SWITCHFILE"
protonvpn c "$switch_to"
файл конфигурации:
UK#13
US-VA#2
US-CA#1
US-CA#2
US-NJ#9
Вот объяснение работы скриптов. Существует файл конфигурации (, поместите его в более безопасное место, чем /tmp ), который содержит список серверов, которые вы хотите просмотреть. Скрипт читает первый и сохраняет его в $switch_to
. Затем он удаляет эту первую строку (, которая является командой sed
), и добавляет ее в конец файла. Затем он вызывает protonvpn по запросу для переключения.