Làm thế nào để cd vào một thư mục chứa một khoảng trắng trong tên của nó?


47

Tôi có một thư mục có tên "Reader 0,5" trong Máy tính để bàn của mình trên Mac Os X. Khi truy cập vào thư mục trong thiết bị đầu cuối, tôi đang sử dụng mã dưới đây:

cd /Users/niho/Desktop/Reader 0.5

nhưng nó ném:

Không có tập tin hoặc thư mục

lỗi.

Làm thế nào tôi có thể cd vào thư mục đó?

Cảm ơn.

macos  bash  shell 

Câu trả lời:


64

Hoặc bạn đặt dấu ngoặc kép quanh tên thư mục ( cd "/Users/niho/Desktop/Reader 0.5") hoặc bạn thoát tên thư mục ( /Users/niho/Desktop/Reader\ 0.5).


5
Để hoàn thiện, bạn cũng có thể quyết định trích dẫn chỉ một phần của đối số, như cd /Users/niho/Desktop/"Reader 0.5"hoặc thậm chícd /Users/niho/Desktop/Reader" "0.5
user123444555621

3
Cái cuối cùng (trích dẫn infix) là mới đối với tôi. Cảm ơn bạn!
joschi

Bây giờ: làm thế nào để bạn đặt đường dẫn với khoảng trắng infix vào một var env để bạn có thể làm gì % cd $foo?
Bogatyr

8

Bạn có thể thoát khỏi không gian:

cd /Users/niho/Desktop/Reader\ 0.5

4

Như những người khác đã đề cập, trích dẫn đường dẫn hoặc dấu gạch chéo ngược thoát khỏi khoảng trắng sẽ hoạt động.

Ngoài bash, shell mặc định trên Mac OS X, hỗ trợ hoàn thành dòng lệnh bằng phím Tab. Vì vậy, ví dụ nếu bạn gõ:

cd /Users/niho/Desktop/Re

sau đó nhấn phím Tab, trình bao sẽ điền vào phần còn lại của tên thư mục (miễn là không có thư mục nào khác trên Bàn làm việc của bạn bắt đầu bằng "Re") và sẽ chú ý trích dẫn các đối số vào cd nếu có khoảng trắng trong tên thư mục nó điền vào.


4

Fyi, sử dụng Tab trong phím tắt bash sẽ phá vỡ ở không gian đầu tiên mà nó gặp nếu nhiều thư mục có tên đầu tiên giống hệt nhau. Trong những trường hợp như vậy, người dùng sẽ phải sử dụng:

cd Adobe\ Creative\ Cloud/

hoặc những gì tôi thích,

cd 'Adobe Creative Cloud'

Trên cả bash và zsh, trích dẫn không hoạt động đối với tôi: `` `bash 2 => cd '~ / Library /' bash: cd: ~ / Library /: Không có tệp hoặc thư mục như vậy 3 => cd ~ / Library / 4 => pwd / Người dùng / pguruprasad / Thư viện `` `
Prasanth

-1

Đây là một cách thoải mái hơn nếu bạn muốn sử dụng các lệnh cd cho các thư mục nhất định thường xuyên hơn. Nó tránh viết tên thư mục mỗi lần.

Trong .bashrc hoặc .profile của bạn, hãy chèn:

# activate cdable_vars
shopt -s cdable_vars

# define shortcut for your directory, here DIR
export DIR="/Users/<username>/path/to/your/dir"

Thực thi tập lệnh của bạn một lần: . .bashrc

Sau đó, bạn có thể cd vào thư mục của bạn như thế này:

cd DIR

Điều này sẽ hoạt động ngay cả khi đường dẫn chứa khoảng trắng.

Tuy nhiên, trong shell scripting, bạn phải trích dẫn biến như thế này:

cd "$DIR"
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.