问题标签 [chdir]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2745 浏览

c - 使用 chdir() 从终端更改目录

我正在使用chdir()将目录更改为作为参数传递给此函数的值。

我知道,当我使用运行我的 C 程序时gcc myCd.c./a.out ..这会将目录更改为 C 程序“内”的父目录(即为 a.out 进程生成一个子进程,并且目录更改发生在该子进程内) .

我想要做的是,使用这个 C 程序在终端更改目录。我尝试为此编写一个 shell 脚本,然后采购它并运行它,但我想使用 C 来实现这一点。

0 投票
2 回答
1330 浏览

c - 制作我自己的外壳 - C - chdir()

我试图用 C 编写自己的 shell。我的chdir()函数有问题。有时我有一条错误消息说execvp: No such file or Directory,而其他一些则什么都没有。目录始终相同。我正在尝试到达一个存在的目的地。

0 投票
2 回答
1890 浏览

python - python3 chdir() 似乎不起作用

作为 python 的新手,我想我会编写一个小 python3 脚本来帮助我在命令行上切换目录(ubuntu 可信赖)。不幸os.chdir()的是似乎不起作用。我尝试以各种方式对其进行修补,例如在路径周围放置引号,删除前导斜杠(这显然不起作用)甚至只是对其进行硬编码,但我无法让它工作 - 任何人都可以告诉我我在这里缺少什么?

调用chdir()发生在最后 - 你也可以在github中看到代码

0 投票
1 回答
139 浏览

c - fgets 和 chdir 在 C 中一起奇怪地表现

我目前正在为家庭作业创建一个简单的外壳,但遇到了问题。这是一段代码,其中包含与问题相关的部分(我可能忘记了一些部分,如果您发现任何缺失,请告诉我):

eatWrd 从字符串中返回第一个单词,并将该单词从字符串中取出。

wrdCount 隐含地返回字符串中的单词数。

如果这些代码中的任何一个对于回复是必要的,我可以发布它们,请告诉我,我几乎 100% 肯定它们不是问题的原因。

无论如何,这个循环适用于许多其他使用 execvp 的命令(例如 cat、ls 等),当我使用 cd 时,它按预期工作,除非我尝试退出 shell 时,实际上需要多次退出调用出去。(事实证明,退出调用的次数正好等于我调用 cd 的次数)。当我在会话期间不使用 cd 时,它只需要一个退出调用。我不确定发生了什么,任何帮助表示赞赏,谢谢。

这是eatWrd:

这是 wrdCount:

0 投票
1 回答
1352 浏览

windows - python:os.system(r'cd foo') & os.chdir()

我有一个疑问。当我尝试os.system(r'cd F:\')时,我仍在启动解释器的目录中。但是 `os.chdir()' 工作正常。我将在下面显示我的代码:

通过运行os.system('dir')我发现我仍然在目录 C:\python34 中。

然后我尝试了这个:

通过运行,os.system('dir')我发现它运行良好。

为什么os.system('F:')不工作?我很乐意得到帮助。

0 投票
1 回答
649 浏览

bash - 当我将 defshell 设置为 bash 时,如何更改屏幕中的默认目录?

我知道您通常可以在 screenrc 文件中使用 chdir 来更改目录,然后再运行 screen 命令。defshell -bash但是,如果我已经设置,这对我不起作用。这是一个不起作用的示例文件:

$ screen -c testrc

$ pwd /Users/myuser

注释掉第一行就可以了,但我想在我的屏幕上运行 bash shell。如果相关的话,这在 OSX 上。我的屏幕命令没有别名。

0 投票
2 回答
1136 浏览

node.js - 我可以在不使用 process.chdir() 的情况下更改 require()'d 模块的 cwd

我有一个 NodeJS 模块,它在特定目录中的文件系统上做了很多工作。我希望模块内的所有文件系统操作都相对于该目录完成 - (我们称之为/home/me/data)。

我意识到我可以更改当前的工作目录,process.chdir("/home/me/data");但这会弄乱正在使用我的模块的任何其他模块的工作目录。

有没有办法让子模块具有与其父模块不同的工作目录?
我不想将变量传递给要附加到调用文件路径的每个子模块。fs.readFile(filepath);

有什么优雅的方法可以实现这一目标吗?

Ps 子进程生成/分叉在这里不合适。

0 投票
1 回答
670 浏览

c - C Segfault in readdir after chdir

我正在编写的这个 C 程序有一个奇怪的问题,我要循环遍历一个目录并打开每个文件来做一些工作。我的程序位于我正在搜索的目录的父目录中。为了让 fopen 能够看到该目录中的文件,我正在调用 while((dp = readdir(dfd)) != NULL) 之前进行 chdir(path) 调用。第一个文件被很好地拾取,但我在这个调用的下一次迭代中得到了一个段错误。chdir 和 readdir 逻辑似乎有问题,我不知道如何解决它。有任何想法吗?这是我的代码:

0 投票
2 回答
730 浏览

perl - 如何在 WinCvs 中执行当前工作目录之外的命令?

我正在研究 Perl 包装器以在 WinCvs 中执行命令。chdir如果不对您希望在其上执行命令的目录执行操作,我一直无法找到执行 Cvs 命令的方法。

这很烦人,因为这意味着每次我想在 perl 脚本中对 Cvs 做任何事情时,我都需要获取当前工作目录,将目录更改为 Cvs 路径,执行我的命令,然后将目录更改回原来的工作目录目录。

有没有办法将路径传递给 Cvs 命令,以便您可以在当前不在的目录上发出命令?

例如,如果我的 Perl 脚本中的当前工作目录是C:\test\并且我想执行一个 Cvsupdate命令,C:\some_other_directory那么如何在不先执行chdirto的情况下执行该命令C:\some_other_directory

我当前如何执行命令的示例:

我想要的是找到一种能够将“C:\ some_other_directory”直接传递给Cvs命令并摆脱所有这些chdir废话的方法......

0 投票
2 回答
998 浏览

c++ - 使用 chdir() 导致分段错误

我正在编写一个批处理模拟器作为个人项目。我正在尝试使用 unistd.h 中的 chdir() 来实现 cd 命令。但是,使用它会导致段错误。

主.cpp:

chdir.cpp:

奇怪的是,使用 cout 获取 chdir 的路径工作得非常好。我该如何解决?