Я вижу одну обратную косую черту, но на самом деле есть две обратные косые черты!

Кто-нибудь может помочь мне понять эту странную проблему?

Я пытался переименовать очень длинный список папок.

Я пошел в родительский каталог и перечислил все папки для переименования в текстовом файле:

find PARENT_FOLDER/ -type d -name *Images > ~/Desktop/directory_listing

Я открыл файл списка в LibreOffice Calc, изменил то, что мне нужно было изменить, использовал «сцепление» "функция создания команды для каждой папки для переименования и т. д.

Когда я вернулся в CLI и вставил свои команды из Calc, mv не может указать, что не может найти папки для переименования. Ну, папки на самом деле существуют, но после дальнейших исследований я обнаружил, что вставленный текст из Calc показывает 1 обратную реакцию на экране, но на самом деле содержит 2! Итак, текст, который я вставляю в bash, выглядит примерно так:

mv Test\ Folder-1-Images TestFolder1

Но что он на самом деле интерпретирует:

mv Test\\ Folder-1-Images TestFolder1

Я подтвердил это с помощью gedit, где моя командная строка в тексте показывает 1 обратную косую черту, но если я скопирую и вставлю ее в поле поиска в gedit, она отобразит 2!

Почему? И как это исправить / предотвратить?

3
задан 10 April 2015 в 03:39

1 ответ

В оболочках Linux \ специальный символ

, Он говорит интерпретатору оболочки рассматривать следующий символ буквально

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

В других ситуациях \ сопровождаемый обычным символом рассматривается как escape sequence, который дает комбинации специальное использование. Например, \n берет указатель на, новая строка.

См. http://linuxcommand.org/wss0060.php для других примеров.

Также см. http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_03.html для большего количества объяснений.

Hope это помогает

5
ответ дан 10 April 2015 в 03:39

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

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