Как использовать команду cd для доступа к каталогу с пробелом [дубликат]

Как мне использовать «cd» для доступа к каталогу с пробелом, например «XML 5.1 Final Fields» в сценарии bash

Я пробовал cd XML 5.1 Final Fields

, но он выдает ошибку Нет такого файла или каталога .

Это сценарий:

#! /bin/bash
xmlfolder="XML/ \/5.1/ \/Final/ \/Fields"
xmlpath="/home/george/Desktop/m5u/test/$xmlfolder"
cd $xmlpath
ls /home/george/Desktop/m5u/test/    
XML 5.1 Final Fields
~/Desktop/m5u/test$ ll
drwxr-xr-x  9 george george      4096 Feb 18 12:44 XML 5.1 Final Fields

это ошибка, которую я получаю при запуске сценария

line 5: cd: /home/george/Desktop/m5u/test/XML\: No such file or directory
2
задан 18 February 2016 в 15:18

1 ответ

Ваша переменная xmlfolder является неправильным. Это должно быть

xmlfolder=XML\ 5.1\ Final\ Fields

или = "поля финала XML 5.1"

Вам не нужно / в пути - поскольку это - всего одна папка. Вам также не нужно "" если Вы также используете \. Выберите тот.


начиная с Вашего редактирования с ls команда, я вижу, что может быть пространство в конце Вашего имени папки. Я предложил бы, чтобы Вы удалили пространство, или путем переименования в наутилусе или с mv команда.

Если Вы хотите сохранить пространство, Ваше имя переменной должно быть этим:

xmlfolder=XML\ 5.1\ Final\ Fields\ 

или

xmlfolder="XML 5.1 Final Fields "

Обратите внимание на это при использовании опции First с \ символ, также необходимо обратиться к переменной с "", т.е. "$xmlfolder".


Ошибка предлагает это cd недовольно путем.

Попытайтесь измениться cd команда от этого

cd $xmlpath

кому:

cd "$xmlpath"

Чтобы быть совершенно честными, Вы не должны должны быть cd в сценарии удара. Просто обратитесь ко всему с полным путем.


Таким образом, Ваш xmlfolder= строка должна быть xmlfolder=XML\ 5.1\ Final\ Fields, и Ваш cd строка должна быть cd "xmlpath".

Мои местоимения - Он / Его

5
ответ дан 2 December 2019 в 01:57

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

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