Я пытаюсь попасть в каталог /cygdrive/c/Users/my dir/Documents
:
$ DOCS="/cygdrive/c/Users/my\ dir/Documents"
$ echo $DOCS
/cygdrive/c/Users/my\ dir/Documents
$ cd $DOCS
-bash: cd: /cygdrive/c/Users/my\: No such file or directory
$ cd /cygdrive/c/Users/my\ dir/Documents
(success)
Когда я набираю его вручную, backspace выполняет функцию escape-символа, но не тогда, когда я использую расширение параметра с помощью переменной DOCS
.
Я пробовал другие варианты, такие как отсутствие обратной косой черты.
$ DOCS=/cygdrive/c/Users/Rahman\ dir/Documents
$ echo $DOCS
/cygdrive/c/Users/my dir/Documents
$ cd $DOCS
-bash: cd: /cygdrive/c/Users/my: No such file or directory
или
$ DOCS="/cygdrive/c/Users/my dir/Documents"
$ echo $DOCS
/cygdrive/c/Users/my dir/Documents
$ cd $DOCS
-bash: cd: /cygdrive/c/Users/my: No such file or directory
То же самое происходит с $HOME
:
$ echo $HOME
/home/my dir
cd $HOME
тоже не работает. Кавычки должны быть помещены вокруг этого.
Какого черта:
$ DOCS="\"/cygdrive/c/Users/my dir/Documents\""
$ echo $DOCS
"/cygdrive/c/Users/my dir/Documents"
$ cd $DOCS
-bash: cd: "/cygdrive/c/Users/my: No such file or directory