gpt4 book ai didi

shell - (未设置 CDPATH) >/dev/null 2>&1 && 未设置 CDPATH

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

我在 shell 脚本中阅读了以下语句:

(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

为什么有两个“未设置CDPATH”?最后一个可以删除吗?

最佳答案

第一个(unset CDPATH) >/dev/null 2>&1命令尝试取消设置 CDPATH ,但在子 shell 中执行此操作(即括号),错误和输出发送到 /dev/null .如果成功,那么它会在主 shell 中取消设置 CDPATH。如果它无法取消设置 CDPATH,则它不会在主 shell 中尝试。这可以避免有关无法取消设置 CDPATH 的错误消息干扰使用它的配置脚本的输出。

我不确定为什么或何时需要进行如此精细的测试,但大概是在某台机器上,某处,某个时间,操作 unset CDPATH不被允许并且被配置脚本的输出弄乱了。请注意,自动配置的 shell 脚本相当奇怪——除了惯用的 shell 之外的任何东西——因为它们总体上是非常可移植的。他们试图处理您从未听说过的奇怪系统,其中一些可能在您从小学毕业之前就已经过时了。许多测试的原因可能已经在时间的迷雾中迷失了。曾经有一个系统需要迂回,但很可能是二十年前在一个不再使用的系统上。

关于shell - (未设置 CDPATH) >/dev/null 2>&1 && 未设置 CDPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15696184/

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