bash изменить каталог с пробелами и обратной косой чертой

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

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

ПРИМЕР:

каталог, в который я хочу перейти:

MY\ DIRECTORY\ WITH\ STRANGE\ \[CHARACTERS\]

в приглашении bash я могу перейти к нему:

cd MY\ DIRECTORY\ WITH\ STRANGE\ \[CHARACTERS\]

но если я помещу имя режиссера в переменную, я не смогу:

TEST="MY\ DIRECTORY\ WITH\ STRANGE\ \[CHARACTERS\]"

cd "$TEST"

-bash: cd:MY\ DIRECTORY\ WITH\ STRANGE\ \[CHARACTERS\]: no such file or directory

Итак, есть ли способ обрабатывать обратную косую черту в оболочке bash чистым и прозрачным способом?

Я мог бы удалить обратную косую черту из строки, но это создаст некоторые сложные проблемы с расширением переменных в именах каталогов...

0 ответов

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