"-" è una scorciatoia per lo stdout in bash? Se no, cosa significa? Ad esempio,"-" significa stdout in bash?
wget -q -O - $line
Che ne dici di stdin?
Grazie e saluti!
"-" è una scorciatoia per lo stdout in bash? Se no, cosa significa? Ad esempio,"-" significa stdout in bash?
wget -q -O - $line
Che ne dici di stdin?
Grazie e saluti!
Per quanto ne so, bash
non è coinvolto nell'utilizzo di dash. È solo una convenzione di molte utilità della riga di comando UNIX accettare -
come segnaposto per stdin
o stdout
quando si inserisce un nome di file di input o di output sulla riga di comando.
per le utilities che utilizzano operandi per rappresentare i file da aprire sia per la lettura o la scrittura, il '- 'l'operando deve essere usato solo per indicare l'input standard (o lo standard output quando è chiaro dal contesto che viene specificato un file di output).
Dipende dal programma. Di solito, -
significa "invia all'output".
Uso read
:
#!/bin/bash
echo -n "What's your name? "
read var1
echo "hello $var1"
-
è solo una convenzione usata da wget
(e parecchi altri strumenti) per indicare l'uscita deve essere inviato a stdout. Non fa parte di bash, ma è un caso speciale trattato dal comando stesso (alcuni comandi finiranno per creare un file "-
" se si presume che sia così). È possibile sostituirlo con /dev/stdout
(e, in genere, è possibile utilizzare /dev/stdin
come file di input).
Come altri hanno già detto, anche "' -' "viene usato a volte per indicare '/ dev/stdin' quando invece il parametro si aspetta un input. – Bruno
-
non è speciale in bash, è semplicemente indicato come parametro per il programma. Quindi dipende dal programma come interpreta quello -
.
Comunemente indica che stdin o stdout dovrebbero essere utilizzati, a seconda del contesto.
Per coloro che hanno votato per chiudere: wget e altre utilità sono applicazioni utente, ma in realtà sono utilizzate nella programmazione della shell, che viene discussa in SO. IMHO questo tipo di domanda è al limite tra SO e SU, quindi per me è meglio lasciarli sul sito dove sono aperti. –