Завершение табуляции в псевдониме mosh (ssh)?

В качестве альтернативы очень эффективное, но немного более сложное решение

sed 'G;s/;/\n/' | awk -F= '
$1~/apiKey/ {key=$2}
$1~/term/ {term=$2}
/^$/ {printf("  apiKey=%s term=%s\n", key, term)
      key=""
      term=""}'

Сначала sed используется для двух вещей: команда «G» эффективно добавляет открытую строку после каждого «набора записей», а во-вторых, «заменяет» команда ( s /; / \ n / ) эффективно расширяет каждый набор записей до одной на строку, заменяя каждый ; символом новой строки. Что выходит из sed, так это пары ключ-значение, по одной на строку, с открытой строкой, обозначающей конец каждой записи.

Затем awk нужно только просмотреть первое поле, чтобы найти интересующие вас атрибуты, и второе поле для значения, что устраняет необходимость в index и substr. Как только awk встречает «открытую строку», он печатает найденные значения. В целях устойчивости вы можете «очистить» значения в конце каждой записи. Обратите внимание на использование -F = для указания awk разбить строку на поля на основе знака = .

$ 1 ~ /.../ означает: «Когда первое поле соответствует значению /.../

, оно затем присваивает значение переменной (ключу или термину)

/ ^ $ / означает «когда awk встречает открытую строку»

2
29.05.2017, 04:23
2 ответа

Я добавил несколько .bash_aliases для входа в различные системы:

alias mj='mosh j3710'
alias m3='mosh 3770k'
etc.
etc.

Я пытался добавить их в /etc/hosts, но это не сработало. Я уверен, что, вероятно, есть более аккуратный способ сделать это, но если ничего не будет предложено в течение следующих нескольких дней, я отмечу это как ответ.

0
27.01.2020, 22:39

zshимеет отличную функциональность автозаполнения. Установите zsh и убедитесь, что завершение установки (инструкции здесь). Части, связанные с ssh, которые вы хотите в своем.zshrc:

zstyle ':completion:*:ssh:*' hosts
compdef mosh=ssh

Первая строка позволит вам разрешить завершение имен хостов с помощью табуляции в ответ на ssh. Вторая строка также расширяет те же расширения имени хоста до mosh

1
29.08.2020, 09:23

Теги

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