Используйте sed для добавления данных ПЕРЕД закрывающей двойной кавычкой, заключающей в себя Path

Используйте sed для добавления данных ПЕРЕД закрывающей двойной кавычкой, заключающей в себя Path

Мне нужно добавить путь /opt/dell/dccк приложению за пределами оператора пути по умолчанию в/etc/окружающая среда

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/dell/dcc"

Проблема в том, что добавление должно быть внутри закрывающегодвойная кавычкапары, которая охватывает путь.

решение1

Хотя этот пример относится к редактированию пути в определенном файле, многие значения директив в файлах конфигурации, требующие изменения с помощью sed, можно заключить в пару кавычек. Чувствуя, что решение может быть интересно широкому кругу, я поделился им ниже:

sed 's#"$#:/opt/dell/dcc"#' /etc/environment

Скриншот доказательства того, что решение работает так, как описано

Преимущество сопоставления по последней кавычке заключается в том, что даже если путь изменится в будущем, это выражение sed все равно будет работать правильно, добавляя пользовательский путь в конец перед закрывающей двойной кавычкой.

Вышеприведенное выражение sed проверено и работает правильно, но у других может быть более элегантный способ достижения того же результата; пожалуйста, не стесняйтесь поделиться им здесь.

Не забудьте добавить -iпереключатель, чтобы изменения сохранились после тестирования.

Связанный контент