Есть ли способ использовать условно совместно используемое SSH-соединение без блокировки локального сеанса TTY?

Вам нужно экранировать |и открывающую скобку [, так как это специальные символы в регулярном выражении.

Кроме того, вы используете сопоставление границ слов \<и \>, что вам не нужно и может вызвать проблемы.

Но все равно тогда у меня работает только с использованиемsed -E(пока не знаю почему... ).

sed -Ei 's/\[delta3=deltafile;delta3dir=755\|workpm]/&[delta6=delta6file;delta6Dir=755|workpm]/' file.txt

или если ваш sedне поддерживает &заднюю -ссылку:

sed -Ei 's/(\[delta3=deltafile;delta3dir=755\|workpm])/\1[delta6=delta6file;delta6Dir=755|workpm]/' file.txt

Выход:

$ echo "core: [dev][delta3=deltafile;delta3dir=755|workpm][staging=stageingfile]" \
| sed -E 's/\[delta3=deltafile;delta3dir=755\|workpm]/&[delta6=delta6file;delta6Dir=755|workpm]/'
core: [dev][delta3=deltafile;delta3dir=755|workpm][delta6=delta6file;delta6Dir=755|workpm][staging=stageingfile]
1
27.03.2021, 15:41
1 ответ

Команда, такая как

ssh -f -N remote_host

создаст сеанс sshс удаленным хостом, но не запустит команду(-N)и сам фон(-f). Эту команду можно использовать как основную.

Если вы хотите туннелировать такие вещи, как X, это также можно сделать с помощью этой команды

ssh -X -f -N remote_host

Если вы обнаружите, что незанятый сеанс отключается (, например. из-за тайм-аутов NAT ), затем добавить что-то вроде

-o ServerAliveInterval=30 

(или эквивалент в вашем configфайле )попытается сохранить сеанс активным.

1
28.04.2021, 22:56

Теги

Похожие вопросы