Как запустить скрипт веб-URL в терминале
Я пытаюсь запустить скрипт через мой терминал. Он отлично работает в моем браузере, но не в терминале.
Я пробовал...
sudo curl https://www.example.com/myscript?info=1
sudo wget -q -O- https://www.example.com/myscript?info=1
sudo wget https://www.example.com/myscript?info=1
Вот вывод, который я получаю...
[2] 25034
[1] Done
Но я знаю, что это не работает, потому что часть кода отправляет электронное письмо, это электронное письмо отправляется, когда я запускаю URL из браузера, но не удается сделать это при запуске из терминала.
1 ответ
Кажется у вас &
где-то в вашем URL, следовательно, оболочка отправляет процесс в фоновом режиме.
Чтобы решить эту проблему, укажите URL.
Например, если вы используете:
curl https://www.example.com/myscript/foo&bar
оболочка будет обрабатывать URL как https://www.example.com/myscript/foo
а также &
после этого вызовет curl https://www.example.com/myscript/foo
процесс, чтобы пойти фон. Обратите внимание, что bar
после &
тоже отсутствует
Так что вам нужно процитировать URL:
curl 'https://www.example.com/myscript/foo&bar'
curl "https://www.example.com/myscript/foo&bar"
Также обратите внимание, что ?
имеет специальное значение для оболочки (означает любой отдельный символ), поэтому, когда у вас есть метасимволы в любом месте вашего аргумента, вы должны заключать аргумент в кавычки (если не намеренно).