используя '& amp;' в имени каталога [duplicate]

У этого вопроса уже есть ответ здесь: Как ввести файл или каталог со специальными символами в его имени? 8 ответов

У меня есть имя каталога с ISO и эмулятором, имеющим некоторые важные файлы. и этот каталог находится в другом разделе, а раздел не отображается в моем FileManager (Nautilus). поэтому я монтирую мой раздел и получаю доступ к нему из терминала, но я не могу попасть в каталог из-за его имени.

, когда я пытался сменить каталог:

cd ISO&Emulator

result:

[1] 1635 bash: Emulator: command not found bash: cd: ISO: No such file or directory [1]+ Exit 1

присвоение имени каталога как команды. любые способы доступа к этому каталогу с терминала?

как это исправить?

9
задан 25 November 2017 в 21:05

6 ответов

Вы должны указать имя файла или каталога, содержащее специальные символы, когда вы его используете:

cd 'ISO&Emulator'
cd "ISO&Emulator"

Или убежать (или процитировать) только специальный символ:

cd ISO\&Emulator    
cd ISO'&'Emulator  
cd ISO"&"Emulator

В большинстве случаев вы можете использовать функцию автозаполнения:

cd ISOTab ↹ Недавно я нашел хороший ответ, предоставленный @MartinThornton, который описывает, как связать PgUp и PgUp с Select конкретный результат от предложений по завершению. См. Также: Как сделать завершение вкладки добавлением косой черты для символических ссылок каталога?

В отличие от одиночных кавычек метки двойных кавычек применимы, когда имя содержит переменную:

cd "$HOME/ISO&Emulator"
14
ответ дан 22 May 2018 в 17:52

Вы должны указать имя файла или каталога, содержащее специальные символы, когда вы его используете:

cd 'ISO&Emulator' cd "ISO&Emulator"

Или убежать (или процитировать) только специальный символ:

cd ISO\&Emulator cd ISO'&'Emulator cd ISO"&"Emulator

В большинстве случаев вы можете использовать функцию автозаполнения:

cd ISOTab ↹ Недавно я нашел хороший ответ, предоставленный @MartinThornton, который описывает, как связать PgUp и PgUp с Select конкретный результат от предложений по завершению. См. Также: Как сделать завершение вкладки добавлением косой черты для символических ссылок каталога?

В отличие от одиночных кавычек метки двойных кавычек применимы, когда имя содержит переменную:

cd "$HOME/ISO&Emulator"
14
ответ дан 18 July 2018 в 05:48

Вы должны указать имя файла или каталога, содержащее специальные символы, когда вы его используете:

cd 'ISO&Emulator' cd "ISO&Emulator"

Или убежать (или процитировать) только специальный символ:

cd ISO\&Emulator cd ISO'&'Emulator cd ISO"&"Emulator

В большинстве случаев вы можете использовать функцию автозаполнения:

cd ISOTab ↹ Недавно я нашел хороший ответ, предоставленный @MartinThornton, который описывает, как связать PgUp и PgUp с Select конкретный результат от предложений по завершению. См. Также: Как сделать завершение вкладки добавлением косой черты для символических ссылок каталога?

В отличие от одиночных кавычек метки двойных кавычек применимы, когда имя содержит переменную:

cd "$HOME/ISO&Emulator"
14
ответ дан 24 July 2018 в 18:26

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

Это не полная замена для того, чтобы знать, как процитировать пути (или, действительно, любой текст) самостоятельно, используя desktop environment , но это очень полезно, может сэкономить вам много времени, и если вам не нравится, когда и как процитировать с помощью \, в большинстве графических эмуляторов терминалов это форма цитирования, которая автоматически применяется, когда вы это делаете, поэтому она продемонстрирует это вам. (В некоторых случаях используются ' '.)

Если вы не изменили его, оболочка, которую вы получаете при открытии окна терминала или входе в виртуальную консоль, - Bash. Цель цитирования в любой оболочке - сообщить оболочке не обрабатывать определенные символы специально. Вы можете прочитать 3.1.2 Цитирование в справочном руководстве Bash.

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

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

[d17 ] Это относилось к тому, что было раньше (cd ISO) в качестве одной команды, асинхронно запускалось в фоновом режиме и рассматривало то, что было после него (Emulator), как вторая команда для запуска (на переднем плане, поскольку она no & после него).

[1] 1635 сообщил, что началось фоновое задание (это было задание 1, а его идентификатор процесса - 1635). bash: Emulator: command not found сообщил, что не было команды под названием Emulator. Сообщение bash: cd: ISO: No such file or directory прибыло из фонового задания, чтобы сообщить, что не было каталога ISO для изменения. [1]+ Exit 1 сообщила, что работа 1 завершена.
5
ответ дан 22 May 2018 в 17:52

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

Это не полная замена для того, чтобы знать, как процитировать пути (или, действительно, любой текст) самостоятельно, используя desktop environment , но это очень полезно, может сэкономить вам много времени, и если вам не нравится, когда и как процитировать с помощью \, в большинстве графических эмуляторов терминалов это форма цитирования, которая автоматически применяется, когда вы это делаете, поэтому она продемонстрирует это вам. (В некоторых случаях используются ' '.)

Если вы не изменили его, оболочка, которую вы получите при открытии окна терминала или входе в виртуальную консоль, - Bash. Цель цитирования в любой оболочке - сообщить оболочке не обрабатывать определенные символы специально. Вы можете прочитать 3.1.2 Цитирование в справочном руководстве Bash.

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

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

Это относилось к тому, что было раньше (cd ISO) в качестве одной команды, асинхронно запускалось в фоновом режиме и рассматривало то, что было после него (Emulator), как вторая команда для запуска (на переднем плане, поскольку она no & после него).

[1] 1635 сообщил, что началось фоновое задание (это было задание 1, а его идентификатор процесса - 1635). bash: Emulator: command not found сообщил, что не было команды под названием Emulator. Сообщение bash: cd: ISO: No such file or directory прибыло из фонового задания, чтобы сообщить, что не было каталога ISO для изменения. [1]+ Exit 1 сообщила, что работа 1 завершена.
5
ответ дан 18 July 2018 в 05:48

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

Это не полная замена для того, чтобы знать, как процитировать пути (или, действительно, любой текст) самостоятельно, используя desktop environment , но это очень полезно, может сэкономить вам много времени, и если вам не нравится, когда и как процитировать с помощью \, в большинстве графических эмуляторов терминалов это форма цитирования, которая автоматически применяется, когда вы это делаете, поэтому она продемонстрирует это вам. (В некоторых случаях используются ' '.)

Если вы не изменили его, оболочка, которую вы получите при открытии окна терминала или входе в виртуальную консоль, - Bash. Цель цитирования в любой оболочке - сообщить оболочке не обрабатывать определенные символы специально. Вы можете прочитать 3.1.2 Цитирование в справочном руководстве Bash.

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

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

Это относилось к тому, что было раньше (cd ISO) в качестве одной команды, асинхронно запускалось в фоновом режиме и рассматривало то, что было после него (Emulator), как вторая команда для запуска (на переднем плане, поскольку она no & после него).

[1] 1635 сообщил, что началось фоновое задание (это было задание 1, а его идентификатор процесса - 1635). bash: Emulator: command not found сообщил, что не было команды под названием Emulator. Сообщение bash: cd: ISO: No such file or directory прибыло из фонового задания, чтобы сообщить, что не было каталога ISO для изменения. [1]+ Exit 1 сообщила, что работа 1 завершена.
5
ответ дан 24 July 2018 в 18:26

Другие вопросы по тегам:

Похожие вопросы: