sh: 0: getcwd () завершилась неудачно: такого файла или каталога на указанном диске нет

145

Я пытаюсь скомпилировать ARM-код в Ubuntu 12.

Все работает нормально, когда я помещаю код в локальный каталог.

Но когда я помещаю код в указанную ошибку каталога монтирования, появляется:

making testXmlFiles
sh: 0: getcwd() failed: No such file or directory
ARM Compiling xxxxx.c
sh: 0: getcwd() failed: No such file or directory

Вот моя настройка в fstab

//10.0.0.1/data /mnt/data   cifs    auto,noserverino,credentials=/root/.smbcredentials,file_mode=0777,dir_mode=0777,uid=user,gid=users,noperm 0 0

Что здесь происходит? Что может вызвать эту ошибку?

  • 0
    Я пытаюсь в Ubuntu 10.10, он работает нормально с той же конфигурации.
  • 37
    Это сообщение об ошибке может быть сгенерировано при попытке выполнить команду из несуществующего пути (например, если процесс B удаляет папку, в которой в данный момент находится процесс A). Пример из реальной жизни: в терминале A: mkdir ~/myfunnydir && cd ~/myfunnydir в терминале B: rm -rf ~/myfunnydir и, наконец, снова в терминал A: java --version )
Показать ещё 1 комментарий
Теги:
getcwd
ubuntu-12.04
cite

8 ответов

369

Эта ошибка обычно вызвана запуском команды из каталога, который больше не существует.

Попробуйте изменить каталог и заново запустить команду.

  • 8
    Решил это для меня
  • 2
    getcwd получает текущий рабочий каталог, и если каталог будет удален или перемещен, он будет недоволен! Смотрите руководство Linux для getcwd
Показать ещё 5 комментариев
7

Попробуйте выполнить следующую команду, это сработало для меня.

cd; cd -
4

В Ubuntu 16.04.3 LTS следующая команда работает для меня:

exit

Затем я снова вхожу в систему.

  • 2
    на самом деле было бы достаточно переключиться на существующий каталог, как Хуман уже сказал в своем ответе
3

Проверьте путь к каталогу, существует ли он или нет. Эта ошибка возникает, если папка не существует, откуда вы используете эту команду. Возможно, вы выполнили команду remove из того же пути в командной строке.

  • 1
    Это то, что Хуман уже сказал в своем ответе
2

Это может иногда случаться с символическими ссылками. Если вы столкнулись с этой проблемой и знаете, что находитесь в существующем каталоге, но ваша символическая ссылка могла измениться, вы можете использовать эту команду:

cd $(pwd)
0

Странно, но мне пришлось переименовать каталог на что-то другое, а затем изменить его обратно.

0

Это также случилось со мной в воссозданном каталоге, каталог тот же, но чтобы заставить его работать снова, просто запустите:

cd .
0

Даже у меня была та же проблема с python virtualenv. Это было исправлено простым перезапуском.

sudo shutdown -r now
  • 4
    на самом деле было бы достаточно переключиться на существующий каталог, как Хуман уже сказал в своем ответе давным-давно ...
Сообщество Overcoder
Наверх
Меню