Что означает «Нет такого файла или каталога» и как исправить проблему?
Я прочитал в Stack Exchange, что сообщение, которое я получаю, «Нет такого файла или каталога» относится к тому, что я не нахожусь в каталоге, где находится нужный мне файл. В статье предлагается использовать «cd» для изменения каталога. Я сделал это и запустил «chmod +x first deploy.sh». Результат был: chmod: first: Нет такого файла или каталога», следующая строка содержала: «chmod: deploy.sh: Нет такого файла или каталога».
Затем я пошел к: «sudo chmod +x deploy.sh». Получил запрос на мой пароль, я ввел свой пароль администратора и получил: «chmod: deploy.sh: Нет такого файла или каталога.
1 ответ
Во всех командах Linux пробел рассматривается как разделитель , разделяющий аргументы команды. Итак, если вы попытаетесь сделать
chmod +x first deploy.sh
команда понимает, что вы хотите изменить права доступа к двум файлам :
first
а также
deploy.sh
. Я предполагаю, что ни один из этих файлов не существует, поэтому вы получаете сообщение об ошибке «Нет такого файла или каталога».
Всякий раз, когда вы хотите использовать имя файла, содержащее пробелы, вам нужно заключить его в кавычки , то есть заключить в одинарные или двойные кавычки, например:
chmod +x "first deploy.sh"
. Вы также можете указать сам пробел, поставив перед ним обратную косую черту:
chmod +x first\ deploy.sh
.
Лично я бы посоветовал избегать имен файлов с пробелами и изменить имя файла на
first_deploy.sh
- это будет проще в использовании. Общепринято использовать символы подчеркивания в именах файлов, состоящих из нескольких слов.