Это было бы лучше сделано с библиотекой XML, но здесь оно находится в sed ...
Sed имеет команды i и a для вставки и добавления строк. Я думаю, что следующий скрипт поможет.
sed -n '/log4jConfigLocation/=' < test.test |\
while read index; do
sed -i $search -e "$((index-1)) i\ <\!--" -e "$((index+8)) a\ -->" < $search
done
Первая часть `sed -n '/ log4jConfigLocation / =' получит номера строк, которые имеют« log4jConfigLocation ». Следующая часть использует эти номера строк в двух командах: вставьте строку линии 1 выше и добавьте строку 8 строк ниже.
Существует лучший способ использования буфера хранения sed, но я недостаточно осведомлен с этим; если вам интересно, вы можете увидеть это руководство. В конечном счете, однако, если вы собираетесь регулярно работать с этим типом материалов, вы должны проверить XMLStarlet.
Этот ответ является вариантом решения guest1000, но у меня недостаточно комментариев для создания комментария.
В любом случае добавление следующего в ~ / .bashrc также работает и кажется мне более чистым :
export GNOME_KEYRING_CONTROL=$(ls -d /run/user/1000/keyring-*)
Найден аккуратный способ найти это.
Шаг 1: После установки разблокируйте значок рабочего места из пусковой установки.
Шаг 2: нажмите кнопку супер (окно)
Шаг 3. Откройте рабочий стол из результатов поиска.
Шаг 4: После открытия заблокируйте значок рабочего места на панели запуска.
Войла !!! Проблема с ключом исчезает.
Добавить этот код в версию файла /usr/bin/mysql-workbench
if ls /run/user/`id -u`/keyring-* 1> /dev/null 2>&1; then gnome-keyring-daemon > /dev/null fi export GNOME_KEYRING_CONTROL=$(ls -d /run/user/`id -u`/keyring-* | head -n 1)Это не чистое решение, но оно работает. Нет необходимости запускать рабочую станцию с терминала.
Я сделал следующее: я использую Workbench 6.3
sudo gedit /usr/bin/mysql-workbench
Просто удалите комментарий
@line 5
WB_NO_GNOME_KEYRING=1
mysql-workbench ищет переменную среды GNOME_KEYRING_CONTROL. Если вы используете компьютер только один, эта переменная должна иметь значение, подобное /run/user/1000/keyring-XXXXXX.
У меня была аналогичная проблема с пакетом mysql-workbench, загруженным с dev.mysql.com (потому что MariaDB и Ubuntu's mysql-workbench несовместим), а простой пользовательский ярлык со следующей командой запуска исправил проблему:
GNOME_KEYRING_CONTROL=$(ls -d /run/user/1000/keyring-*) /usr/bin/mysql-workbench
Самая глупая проблема, которая когда-либо была видна!
, если вы запустите свой mysql-workbech при помощи пусковой установки, эта ошибка появляется.
Но если вы запустите свой workbench mysql из проблемы с терминальной клавиатурой, .
Любые идеи, почему это происходит? Я использовал версию 6.0 и обновлен до 6.2.4, ничего не изменилось. Обходным ответом для этой проблемы является терминал Go и запуск тупых workbench от Oracle ...