Как мне заставить мою функцию cd правильно анализировать пробелы? - PullRequest
0 голосов
/ 04 ноября 2019

Я пишу оболочку UNIX на C. При попытке создать собственную функцию cd она работает правильно, однако я не могу получить доступ к каталогам, в которых есть пробелы.

Я попытался ввестиаргумент для cd, как в bash или других оболочках unix для доступа к каталогам с пробелами, но он не работает:

>>> 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

Как видите, только первое слово анализируется как имя аргумента / каталога.

Как мне выполнить программу для анализапробелы правильно и доступ к каталогам с пробелами?

...