2015-04-07 14 views
7

Ho notato che il ritorno da qualsiasi richiesta di curl in ZSH termina in un %, ad esempio:Perché una richiesta CURL restituisce un segno di percentuale (%) con ogni richiesta in ZSH?

$ curl http://textbelt.com/text -d number="555555555" -d message="hey" 
=> { "success": true }% 

motivi per cui si aggiunge questo personaggio e c'è un metodo standard per la rimozione di esso?

nota: ZSH è l'unico guscio che ho notato questo che si verificano (testato in bash csh ksh sh tcsh zsh)

risposta

5

Questa è una caratteristica zsh che stampa un cento-e-ritorno a capo dopo un comando viene completato se che comandano non preveda già una nuova riga alla fine della sua produzione. Se zsh non lo facesse, non noteresti mai il fatto che il comando non ha stampato una nuova riga - o vedresti il ​​prompt di comando di zsh non sul margine e pensi che si trattasse di un bug in zsh.

Strumenti come ricciolo religiosamente stampa qualunque risultati che ottengono dalla sorgente e non dovrebbero mai spontaneamente stampare un ritorno a capo senza essere chiesto a. Vedo questo comportamento più spesso con arricciatura. Se stai codificando uno strumento che usa l'arricciatura, hai ovviamente la possibilità di aggiungere in una nuova riga te stesso.

Suggerisco di non aggiungere una nuova riga a meno che non sia necessario. Nel caso in cui davvero si vuole aggiungere un ritorno a capo, è possibile utilizzare uno strumento separato (ECHO per esempio) - ma il più semplice con l'arricciatura è l'opzione "write-out":

$ curl http://api.macvendors.com/0015c7 
Cisco Systems, Inc%  
$ curl -w '\n' http://api.macvendors.com/0015c7 
Cisco Systems, Inc 
$ 

Dalla pagina man di riccio:

-w, --write-out <format> 
      Make curl display information on stdout after a completed transfer. The format is a string that may contain plain text 
      mixed with any number of variables. The format can be specified as a literal "string", or you can have curl read the for- 
      mat from a file with "@filename" and to tell curl to read the format from stdin you write "@-". 
+0

Ci scusiamo per rivedere un vecchio thread. Ma qualche idea di cosa sia chiamata questa caratteristica? In qualche modo è stato disabilitato per me di recente e non riesco a capire come riattivarlo –

+1

Trovato, il suo 'setopt PROMPT_CR'! –

1

Prova esplicitamente l'aggiunta di una nuova riga \ n per il messaggio.

+0

provato ma non sembra aiutare. – Travis

Problemi correlati