Я перепробовал все способы попасть в каталог с пробелами, и все они не работают.

mkdir "test folder"

Попытка № 1

cd "test folder"

**bash: cd: test: No such file or directory**

Попытка № 2

cd 'test folder'

**bash: cd: test: No such file or directory**

Попытка № 3

cd test\ folder/

**bash: cd: test: No such file or directory**

Попытка № 4

TEST=test\ folder

echo $TEST
**test folder**

cd $TEST

**bash: cd: test: No such file or directory**

это моя версия bash: GNU bash, версия 4.2.24(1)-релиз (i686-pc-linux-gnu). Может ли быть что-то не так с моим .bashrc?

2 ответа2

3

Вы можете использовать следующие ключи ls для обнаружения проблем такого типа:

   -b, --escape
          print C-style escapes for nongraphic characters

   -q, --hide-control-chars
          print ? instead of non graphic characters

   --show-control-chars
          show non graphic characters as-is (default unless program is `ls' and output is a terminal)

   -Q, --quote-name
          enclose entry names in double quotes

ПРИМЕЧАНИЕ: --show-control-chars обычно включен по умолчанию.

Примеры:

% touch normal_file
% touch "spacy_file "
% touch "ctrl_file^[^\^]"

ПРИМЕЧАНИЕ . Третий файл был создан нажатием ...

  • удерживайте Ctrl и нажмите V & 3
  • удерживайте Ctrl и нажмите V & 4
  • удерживайте Ctrl и нажмите V & 5

-lb

% ls -lb
total 0
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 ctrl_file\033\034\035
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 normal_file
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 spacy_file\ 

-l

% ls -l
total 0
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 ctrl_file???
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 normal_file
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 spacy_file 

-q

% ls -q
ctrl_file???  normal_file  spacy_file 

-lq

% ls -lq
total 0
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 ctrl_file???
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 normal_file
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 spacy_file 

-lQ

% ls -lQ
total 0
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 "ctrl_file\033\034\035"
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 "normal_file"
-rw-rw-r-- 1 saml saml 0 Jan 13 21:22 "spacy_file "
3

В имени каталога могут быть другие скрытые символы (кроме пробела .... как, например, TAB) .....

Пытаться:

 cd *folder

ИЛИ ЖЕ

 cd test*

и посмотреть, если это работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .