Thay đổi thư mục với không gian theo sau là '('


7

Có hai thư mục tôi có thể thay đổi thành:

Program Files/       Program Files (x86)/

Tôi có thể thay đổi thành cái đầu tiên bằng cách viết:

cd Program\ Files

Nhưng cái thứ hai cho cái thứ hai:

cd Program\ Files\ (x86)

Tôi có:

bash: syntax error near unexpected token `('

Cách đúng để thay đổi thư mục thứ hai là gì?

Câu trả lời:


11

Bạn phải thoát khỏi dấu ngoặc đơn:

cd Program\ Files\ \(x86\)

Nhấn TABthường sẽ hoàn thành dòng lệnh cho bạn và sẽ đưa ra gợi ý về cách trích dẫn tên tệp / thư mục.


Có, Tab hoàn thành, nhưng tôi có hai thư mục có cùng tên cho đến (x86) nên nó chỉ hoàn thành "Tệp chương trình".
enedene

@enedene Đúng vậy, mặc dù sau đó bạn có thể nhập \ và tận dụng lợi thế của việc hoàn thành.
lgarzo

Một sự thay thế có thể hữu ích trong trường hợp này là sử dụng vỏ toàn cầu. Ví dụ, cd PTAB ??x86?TAB sẽ có khả năng (tùy thuộc vào những gì bạn có trong thư mục có liên quan) hoàn thành Program Files (x86).
một CVn

1
Tại một số điểm, dấu gạch chéo ngược trở thành vấn đề lớn hơn giá trị của chúng. Nếu bạn có nhiều hơn một hoặc hai ký tự đặc biệt, việc trích dẫn toàn bộ tên tệp sẽ đơn giản hơn; một trong hai "Program Files (x86)"hoặc 'Program Files (x86)'sẽ làm việc.
MadSellectist

Đánh TAB nhiều lần sẽ xoay vòng qua các trận đấu có sẵn. cd ProgTAB TAB.
Lars Rohrbach

3

Một cách khác để thực hiện tương tự là trích dẫn đường dẫn chứa khoảng trắng:

cd "Program Files (x86)"

Điều này cũng hoạt động với hoàn thành tab để bạn có thể gõ:

cd "Program<Space><Tab><Space><Tab>

Thông báo mở đôi. Sau đó, bạn sẽ nhận được:

cd "Program Files (x86)"/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.