Pagina 1 di 1
Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 13:46
da mordecai
Salve!Ho visto sul libro di Cooper,ma non ho trovato la soluzione.
Supponiamo che do un comando del genere:
which ifconfig
e il risultato sia /sbin/ifconfig,come posso memorizzare il risultato in una variabile,anzichè in un semplice file di testo?
Cosi se memorizzo il tutto in una variabile,posso usare quella stringa all'interno dello script.È possibile?
Grazie
Re: Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 13:52
da shark1500
Certo che si puo' fare:
var=$(which ifconfig)
echo $var
Re: Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 13:58
da mordecai
Grazie!
Però non ho capito come mai il $ precede la parentesi col comando dentro.
Sintatticamente che significa?Non può essere tutta una varibile,perchè prima non è stata dichiarata
Re: Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 14:03
da lamarozzo
in bash
esegue il comando e restituisce l'output.
Sempre in bash, come nella maggior parte dei linguaggi di scripting, non serve dichiarare le variabili.
Re: Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 14:04
da d4z_c0nf
mordecai ha scritto:Grazie!
Però non ho capito come mai il $ precede la parentesi col comando dentro.
Sintatticamente che significa?Non può essere tutta una varibile,perchè prima non è stata dichiarata
Dovresti guardare il manuale della bash bash.
Perchè dirti che la bash espande ciò che segue il dollaro, ti serve a poco.
Comunque una variante, che ricordo che Mario (Vanoni), sostenesse fosse universalmente riconosciuta a differenza di quella su proposta è:
var=`comando`
Quegl'apici sono accenti gravi (altgr+apice).
rock
Re: Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 15:20
da sir_alex
d4z_c0nf ha scritto:mordecai ha scritto:Grazie!
Però non ho capito come mai il $ precede la parentesi col comando dentro.
Sintatticamente che significa?Non può essere tutta una varibile,perchè prima non è stata dichiarata
Dovresti guardare il manuale della bash bash.
Perchè dirti che la bash espande ciò che segue il dollaro, ti serve a poco.
Comunque una variante, che ricordo che Mario (Vanoni), sostenesse fosse universalmente riconosciuta a differenza di quella su proposta è:
var=`comando`
Quegl'apici sono accenti gravi (altgr+apice).
rock
O apici retroversi in linguaggio internazionale (backticks)...
Re: Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 15:52
da DanBadJar
Re: Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 15:57
da conraid
mordecai ha scritto:Salve!Ho visto sul libro di Cooper,ma non ho trovato la soluzione.
http://tldp.org/LDP/abs/html/commandsub.html
Re: Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 20:46
da shark1500
E' vero, esiste anche con gli apici ``, pero' se non erro era deprecata la cosa a favore appunto di $().
Non ho tempo purtroppo per approfondire
Re: Bash:si può redirigere il risultato d'un comando in una var?
Inviato: gio 27 nov 2008, 21:40
da Mario Vanoni
shark1500 ha scritto:E' vero, esiste anche con gli apici ``, pero' se non erro era deprecata la cosa a favore appunto di $().
Molto bash(1) specifica,
altre (vecchie) shell conoscono solo ``, quindi portabilita`!
Se leggo in giro,
funzionano tuttora vecchie SGI con CPU MIPS !!!