GNU/Linux >> Linux Esercitazione >  >> Linux

Il comando "eval" in Bash?

Cosa puoi fare con eval comando? Perché è utile? È una specie di funzione incorporata in bash? Non c'è nessun man pagina per questo..

Risposta accettata:

eval fa parte di POSIX. È un'interfaccia che può essere una shell integrata.

È descritto nel "Manuale del programmatore POSIX":http://www.unix.com/man-page/posix/1posix/eval/

eval - construct command by concatenating arguments

Prenderà un argomento e ne costruirà un comando, che verrà eseguito dalla shell. Questo è l'esempio della manpage:

1) foo=10 x=foo
2) y='$'$x
3) echo $y
4) $foo
5) eval y='$'$x
6) echo $y
7) 10
  1. Nella prima riga definisci $foo con il valore '10' e $x con il valore 'foo' .
  2. Ora definisci $y , che consiste nella stringa '$foo' . Il simbolo del dollaro deve essere preceduto da
    con '$' .
  3. Per controllare il risultato, echo $y .
  4. Il risultato sarà la stringa '$foo'
  5. Ora ripetiamo l'assegnazione con eval . Innanzitutto valuterà $x alla stringa 'foo' . Ora abbiamo l'istruzione y=$foo che verrà valutato in y=10 .
  6. Il risultato di echo $y è ora il valore '10' .

Questa è una funzione comune in molte lingue, ad es. Perl e JavaScript.
Dai un'occhiata a perldoc eval per ulteriori esempi:http://perldoc.perl.org/functions/eval.html


Linux
  1. Qual è la differenza tra &> e >&in bash?

  2. Come impostare il colore del prompt dei comandi in Bash?

  3. Come cambiare rapidamente la prima parola in un comando Bash?

  4. Cosa dovrebbe fare il comando export in Linux?

  5. Cosa fa -e in un bash shebang?

Come utilizzare il comando di lettura Bash

Bash wait Comando

Comando Bash printf

L'elenco delle scorciatoie da tastiera utili di Bash

Comando Bash fc:utilizza facilmente Bash Shell come un professionista

Il comando di spostamento di Linux:spiegato e semplificato!