source code for unix environments 'cd' command

醉酒当歌 提交于 2019-12-04 20:20:03

问题


Where can I find the source code for Unix environment's cd command?

I want to know how the command is implemented.


回答1:


Here is a complete explanation how cd works: http://web.archive.org/web/20090515201659/http://www.cs.ucr.edu/~brett/cs153_w02/syscall.html

The cd Unix command just calls chdir and examines the error codes.




回答2:


To see the source for the bash cd command, for example:

  1. Download the bash source from http://ftp.gnu.org/gnu/bash/
  2. Extract the source
  3. Examine bash-./builtins/cd.def, where "." represents the version you downloaded (e.g. 4.2). This is the file from which cd.c is created, according to the comment at the top of the file.



回答3:


cd is usually built-in in the shell, you should just look at the code of any shell, e.g. bash, or ash.

The cd command should be ultimately based on the chdir() function, but if you're interested in all the command line expansions, then the source is the shell.

http://en.wikipedia.org/wiki/Comparison_of_computer_shells




回答4:


using chdir function:

http://www.opengroup.org/onlinepubs/009695399/functions/chdir.html



来源:https://stackoverflow.com/questions/881560/source-code-for-unix-environments-cd-command

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!