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

У меня есть следующий код:

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

1 ответ

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

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

Другие вопросы по тегам