Как избежать двойных кавычек и восклицательного знака в пароле?
У меня есть следующий код:
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 в одинарные кавычки вместо двойных кавычек, и это может свести на нет необходимость экранирования двойных кавычек.