Я пытаюсь запустить сценарий через свой терминал. Это хорошо работает в моем браузере, но не в терминале.
Я попробовал...
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 от браузера, но не удается сделать так, когда работал от терминала.
Кажется, что Вы имеете &
где-нибудь в Вашем 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"
Также примечание, которое ?
имеет особое значение для окружения (означает любой отдельный символ), поэтому когда у Вас есть метасимволы оболочки где угодно в Вашем аргументе, необходимо заключить аргумент в кавычки (если намеренный).