如何获得cd函数以正确解析空格?

我正在用C语言编写UNIX shell。在尝试创建自己的cd函数时,它可以正常工作,但是我无法访问其中包含空格的目录。

我试图像在bash或其他unix shell中一样将参数输入cd来访问带有空格的目录,但是它不起作用:

>>> cd some\ directory\ with\ spaces
>>> cd "some directory with spaces"

以下是cd函数的代码:

if (command[1] == NULL) {
    chdir(getenv("HOME"));
    }
else
    if (chdir(command[1]) == -1) {
            printf("%s: no such directory\n",command[1]);
        }

返回以下错误:

some: no such directory

如您所见,只有第一个单词被解析为参数/目录名称。

如何使程序正确解析空格并使用空格访问目录?

ikerli 回答:如何获得cd函数以正确解析空格?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3166088.html

大家都在问