gpt4 book ai didi

linux - bash 和其他智能 shell 如何找到可执行文件?

转载 作者:太空宇宙 更新时间:2023-11-04 04:38:49 24 4
gpt4 key购买 nike

它们处理来自 PATH 的可执行文件、脚本和符号链接(symbolic link),但是它的算法是做什么的? 我担心 我找不到这部分 shell 的源代码。

UDP:哦,我傻了。它在 PATH 中查找每个可执行文件,无论是目录还是普通文件。

最佳答案

嗯,实际的搜索是由 findcmd.c:553 中的 find_user_command_in_path() 执行的.

搜索命令${foo}的算法基本上是:

  • 检查${foo}是否是绝对路径:如果是则返回此路径并停止搜索
  • 迭代 PATH 中的所有元素:for p in ${PATH}
    • 构造一个路径${p}/${foo}并查看它是否存在
      • 如果存在并且可执行,则返回此路径并停止搜索

关于linux - bash 和其他智能 shell 如何找到可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36342209/

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