zaLinux.ru

sudo: cd: command not found (РЕШЕНО)


sudo позволяет выполнять команды с повышенными привилегиями. Больше подробностей об использовании sudo смотрите в статье «Что такое sudo».

Но с некоторыми командами невозможно использовать sudo, один из таких примеров уже рассмотрен в статье «Как использовать echo вместе с sudo».

Аналогично и с cd, если попытаться выполнить что-то вроде такого:

sudo cd /root

То возникнет ошибка:

sudo: cd: command not found

Причина ошибки в том, что назначение sudo в том, чтобы запускать программы от другого пользователя (обычно как root). Но cd не является программой, это встроенная функция Bash. В этом можно убедиться если выполнить:


type cd

Вывод:

cd — это встроенная команда bash

Ещё одна проверка:

which cd

В этом сообщении сказано, что cd не найдена среди исполнимых файлов по указанным папкам:

which: no cd in (/usr/local/bin:/usr/local/sbin:/usr/bin:/opt/cuda/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)

Как выполнить sudo вместе cd

В качестве работающего способа выполнения sudo cd используйте следующую конструкцию:

sudo sh -c "cd ДИРЕКТОРИЯ; ДРУГАЯ_КОМАНДА"

Обратите внимание, что будет сделан переход в указанную папку, но вы сразу покинете её и вернётесь в свою текущую рабочую директорию после окончания выполнения команды. Поэтому если вам нужно выполнить действия внутри указанной ДИРЕКТОРИИ, то перечислите эти команды внутри кавычек через точку с запятой.


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *