Questions tagged «eval»


1
为什么要评估ssh-agent的输出?
为了运行ssh-agent我必须使用 eval $(ssh-agent) 为什么我要eval输出ssh-agent? 为什么不设计它以便我可以运行它? 注意:不推荐使用反引号(`)。例如,您可以在此处阅读有关它的更多信息。
66 shell  ssh  ssh-agent  eval 

4
如何列出所有用户名和/或主目录?
我要列出计算机上的所有用户目录。通常,我会这样做: ls -l /home 但是我在一个脚本中使用它,该脚本将部署在其他计算机上,也许会在他们不称其为Home的计算机上(例如myHome)。所以我想将其概括为ls -l ~。但这只是列出我的用户家庭目录,而不是列出所有用户家庭目录名称(基本上,我想在计算机上获取用户名称的列表)。我该如何概括呢?

2
条件表达式中“ set -e”下“ eval”的行为
考虑命令 eval false || echo ok echo also ok 通常,我们希望它能够执行该false实用程序,并且由于退出状态为非零,因此可以执行echo ok和echo also ok。 在所有的类POSIX我用贝壳(ksh93,zsh,bash,dash,OpenBSD的ksh,和yash),这是发生了什么,但事情变得有趣的,如果我们能set -e。 如果set -e有效,则执行时,OpenBSD sh和kshshell(均从派生pdksh)将终止脚本eval。没有其他外壳可以做到这一点。 POSIX说特殊的内置实用程序(例如eval)中的错误应导致非交互式外壳终止。我不确定执行是否false构成“错误”(如果确实如此,它将独立于set -e活动状态)。 解决此问题的方法似乎是将evalin 放在子shell中, ( eval false ) || echo ok echo also ok 问题是,是否应该在POSIX正确的shell脚本中执行此操作,还是在OpenBSD的shell中出现错误?另外,上面链接到的POSIX文本中的“错误”是什么意思? 额外的信息:OpenBSD Shell将 在命令中echo ok使用和不使用两者set -e eval ! true || echo ok 我的原始代码看起来像 set -e if eval "$string"; …
10 posix  openbsd  eval 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.