gpt4 book ai didi

perl - find2perl perl shebang + eval 的确切含义是什么?

转载 作者:行者123 更新时间:2023-12-04 23:30:15 26 4
gpt4 key购买 nike

下面具体做什么?

#! /usr/bin/perl -w
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; #$running_under_some_shell
  • if 0永远不会是真的,所以 eval 部分永远不会执行,
  • 而且 eval 也很奇怪——$0 的值是多少?在这种情况下(在单引号内?)

  • ps:取自 find2perl 命令的结果

    最佳答案

    最佳猜测 - 如本评论 #$running_under_some_shell ,它是为了检测脚本是否正在由 perl 以外的其他 shell 运行,例如猛击。

    the if 0 is never true, so the eval part will never executed,



    不是 perl,不是。对于其他 shell,例如 bash,它不会发现行的延续,而只会执行 eval陈述。然后在 perl 下重新运行脚本。 (奇怪的是与 hashbang 线不同的选项。)

    and the eval is strange too - what is the value of $0 in this context (inside single quotes?)



    同样,这将由 bash 而不是 perl 扩展:这里它意味着 find2perl 传递到 perl 解释器的路径。

    关于perl - find2perl perl shebang + eval 的确切含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6123971/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com