Я пишу оболочку 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
Как видите, только первое слово анализируется как имя аргумента / каталога.
Как мне выполнить программу для анализапробелы правильно и доступ к каталогам с пробелами?