Замените жало в оболочке специальным символом #shellscripting

#shell #unix

#оболочка #unix

Вопрос:

Пожалуйста, помогите мне заменить sting новым обновленным stinging в нескольких файлах.

Ввод:

 DNEXUS_USERNAME="$(NEXUS_USER_NAME)" -DNEXUS_PASSWORD="$(NEXUS_PASSWORD)"
 

Новая строка:

 DNEXUS_USERNAME_NEW='$(NEW_NEXUS_TKN_NAME)' -DNEXUS_PASSWORD_NEW='$(NEW_NEXUS_TKN)
 

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

Комментарии:

1. Это bash или powershell?

2. это скрипт bash

Ответ №1:

Похоже, нет необходимости ссылаться на $ в файле вообще:

 sed -i 's/NEXUS_USER_NAME/NEW_NEXUS_TKN_NAME/g;s/NEXUS_PASSWORD/NEW_NEXUS_TKN/g' file
 

Комментарии:

1. Но на следующем этапе в том же файле есть еще одно жало, имеющее ту же переменную с другим значением. Так что это не сработает, если я заменю переменную. Мне потребуется заменить только полную строку

2. Можете ли вы добавить это к вопросу?