Shellでevalの有用なユースケースは何ですか?

Shellでevalの有用なユースケースは何ですか?

eval is evilShell / POSIXの世界やPythonなどの他の言語でよく聞くことができます。

ところで本当に役に立たないのだろうか?それとも不思議で文書化されておらず、興味深いまたは有用なユースケースはありますか?

答えがsh/bash中心的であれば良いでしょうが、他のシェルとも関係があれば良いでしょう。

PS:私は素晴らしい 知っている なぜ評価を検討してくださいevil

ベストアンサー1

私は2つの...一般的な...使用事例を知っていますeval

  1. パラメータ処理getopt:

    [T]この実装は引用された出力を生成することができ、これはシェルで再解釈されるべきです(通常はevalコマンドを使用して)

  2. 設定するSSHエージェント:

    [T]エージェントは、呼び出しシェルで評価できる必須シェルコマンド(sh(1)またはcsh(1)構文を生成できます)を印刷します(たとえば、eval `ssh-agent -s`sh(1)またはksh(1)などのBourneタイプシェルの場合)eval `ssh-agent -c`csh(1)と派生。

どちらの用途にも異なるオプションがあるかもしれませんが、どちらにも驚かないでしょう。

おすすめ記事