Come passare l'output di un eco all'ingresso di un altro?


1

Sto provando il seguente

echo 5 | echo

ma non ottenere nulla. Che c'è?

Risposte:


1

Comandi come grep e awk può accettare il input standard (STDIN) come parametro o argomento usando una pipe. Tuttavia, altri come cp e echo ignorare il flusso di input standard e affidarsi esclusivamente al argomenti trovato dopo il comando.

Usando il comando xargs puoi costruire ed eseguire righe di comando dall'input standard, ad esempio nel tuo caso:

echo 5 | xargs echo

Non esiste una regola esatta per sapere se un comando accetta lo standard input, tuttavia puoi avere una nozione leggera usando queste due regole:

  • Se il comando viene utilizzato per manipolare in qualche modo il contenuto di un file ( grep, sed, awk ecc.), quindi in genere può ricevere input da STDIN.

  • Se il comando viene utilizzato per manipolare il file stesso (ad es. mv, rm, cp ) o un processo (ad es. kill, lsof ) o per restituire informazioni su qualcosa (ad es. top, find, ps ) allora non è così.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.