Como executar um script de url da web em um terminal

0

Estou tentando iniciar um script pelo meu terminal. Funciona bem no meu navegador, mas não no terminal.

Eu tentei ...

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

Aqui está a saída que recebo ...

[2] 25034
[1]   Done 

Mas sei que não está funcionando porque parte do código envia um e-mail, este e-mail é enviado quando eu executo o URL de um navegador, mas não o faço quando executado no terminal.

    
por Adrian 26.07.2015 / 18:19

1 resposta

6

Parece que você tem & em algum lugar no seu URL, por isso o shell está enviando o processo para o plano de fundo.

Para resolver isso, cite a URL.

Por exemplo, se você usar:

curl https://www.example.com/myscript/foo&bar

o shell tratará o URL como https://www.example.com/myscript/foo e & depois disso fará com que o processo curl https://www.example.com/myscript/foo seja plano de fundo. Observe que bar após & está ausente também.

Então você precisa citar o URL:

curl 'https://www.example.com/myscript/foo&bar'
curl "https://www.example.com/myscript/foo&bar"

Observe também que ? tem um significado especial para shell (significa qualquer caractere único), portanto, quando você tiver meta-caracteres do shell em qualquer lugar em seu argumento, deverá citar o argumento (a menos que seja intencional).

    
por heemayl 26.07.2015 / 19:09