Назад | Перейти на главную страницу

Как избежать двойных кавычек и восклицательного знака в пароле?

У меня такой код:

curl -s --insecure -H "Content-Type: application/json" -X POST -d "{\"username\":\"$1\",\"password\":\"$2\"}" http://apiurl

В приведенном выше curl команда я хочу избежать " и ! в пароле.

Я изменил команду curl, как показано ниже, но, похоже, она не работает

curl -s --insecure -H "Content-Type: application/json" -X POST -d "{\"username\":\"$1\",\"password\":\"$2\"}" http://apiurl

$ {пароль //! / \!} заменит каждый! в пароле с! Дополнительный \ означает, что мы собираемся заменить все! и не только первый.

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