Risposte:
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ì.