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

时间:2019-11-04 14:14:20

标签: c shell unix 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

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

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

0 个答案:

没有答案