【问题标题】:Difference between cd and function chdircd 和函数 chdir 的区别
【发布时间】:2012-08-16 08:07:45
【问题描述】:

cd shell 命令和 Perl 函数chdir 有什么区别?可以举个例子解释一下吗?

【问题讨论】:

    标签: perl cd chdir


    【解决方案1】:

    cd 命令改变一个shell进程的当前目录; Perl chdir 函数更改 Perl 进程的当前目录。它们完全一样,只是拼写不同。

    【讨论】:

    • 请注意,shell cd 和 Perl chdir 都是根据 chdir(2) 系统调用实现的。现代 shell cd 命令做了很多尝试来假装符号链接不是,但是当需要更改目录时,它们仍然使用chdir(2)
    • @JonathanLeffler 我没有大写“perl”,因为大写是基于“Perl the language”独立于“perl the program”而存在的错误断言。实际上,语言是(唯一)实现接受的任何语言,即使行为与文档相矛盾。正如他们在 perlfaq 中所说:“问:有 ISO 或 ANSI 认证的 Perl 版本吗?答:当然没有。Larry 预计他会在 Perl 之前获得认证。”看到以我绝对不会写的方式写的东西,上面写着我的名字,我感到不安。
    • @AlanCurry:我不同意你的风格选择,但这是你的帖子,你可以随心所欲。
    • 真正的选择是“Perl”和“perl”。 “perl”没有意义。
    【解决方案2】:

    基本上它们都做同样的事情,但chdir 是一个 POSIX 系统调用,而cd 是一个程序中使用的普通函数,在这种情况下是 shell。

    实际上,cd 调用 chdir 来更改目录,因为程序没有内核权限自行完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-19
      • 2017-12-06
      • 2020-03-09
      • 2020-03-27
      • 2018-07-10
      • 1970-01-01
      • 2016-03-02
      相关资源
      最近更新 更多