2013-11-11 3 views
2

Я пытаюсь добавить свой прокси-сервер с параметрами аутентификации в bash, где мой пароль содержит символ @. Синтаксис для добавления прокси-сервер с аутентификацией в Баш выглядит следующим образом:Как избежать символа '@' в bash?

export http_proxy=http://username:[email protected]:port_no/ 

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

Например, если мой пароль [email protected], а хост - proxy.college.com, приложения пытаются подключиться к [email protected].

Я попытался убежать от @, используя \, но это не решило. Как это сделать без изменения пароля?

Примечание: Этот вопрос не похож на How can i escape an arbitrary string for use as a command line argument in bash, ни How to escape the at sign in bash, так как это конкретно относится знак «@», который появляется в командах, где есть @ символ уже присутствуют и @ используется для разделения данной строки в конкретные параметры.

P.S .: Хотя с помощью HTML-кода %40 для @ работ, я бы предпочел более читаемым метод.

+2

Я бы сменил пароль ;-) – hgoebl

+0

Разве это не грязный способ сделать это? – jobin

+0

Зачем вам нужно вводить пароль для входа? Какое приложение заставляет вас это делать? это, наверное, ужасная проблема безопасности. Пожалуйста, прочитайте страницу 'man' приложения, которое вы используете, убедитесь, что есть возможность отправить пароль по-другому или иначе переключиться на другое приложение. –

ответ

7

Вы можете использовать %40 вместо знака @.

+0

Мой плохой, я забыл упомянуть, что не хотел бы использовать HTML-коды, разве нет способа избежать этого? – jobin

+0

http://webdesign.about.com/library/bl_url_encoding_table.htm – hgoebl

Смежные вопросы