У меня такой код:
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 в одинарные кавычки вместо двойных кавычек, и это может свести на нет необходимость экранировать двойные кавычки.