Вы можете убежать просто амперсанд;кавычки эффективно экранируют каждый символ между ними.
myscript www.pudim.com.br/\?\&args=ok # The ? should be escaped as well
Не существует решения, позволяющего избежать всех цитирования, поскольку &
является метасимволом оболочки, значение которого без кавычек нельзя отключить. &
завершает предыдущую команду, вызывая ее выполнение в фоновом процессе;добавив несколько лишних пробелов, вы пытаетесь использовать то же самое, что и
myscript www.pudim.com.br/? &
args=ok
Unescaped, ?
приведет к тому, что URL будет рассматриваться как шаблон для расширения. Однако маловероятно, что шаблон будет соответствовать какому-либо существующему файлу, и поведение по умолчанию bash
заключается в буквальном обращении с непревзойденным шаблоном. (Параметр failglob
будет рассматривать его как ошибку, а параметр nullglob
приведет к тому, что URL-адрес полностью исчезнет из командной строки, но ни один из параметров не будет включен по умолчанию.)