Làm thế nào để cd vào một thư mục có tên bắt đầu bằng một - - (trừ)?


10

Chúng tôi có một số thư mục mà tên bắt đầu bằng dấu "-". Nếu tôi cố gắng nhập chúng bằng thiết bị đầu cuối, hãy cdhiểu "-" là một tùy chọn. Làm thế nào tôi có thể quản lý này?


1
Một người sẽ là khôn ngoan để tránh các ký tự như vậy trong tên thư mục / thư mục.
Mindwin

Bạn không thể làm gì cd '-my-directory'?
OldBunny2800

@ oldbunny2800 Bạn đã thử chưa?
nohillside

1
@ OldBunny2800 Số Báo giá ngăn vỏ xử lý các ký tự riêng biệt; các chuỗi bắt đầu bằng dấu gạch nối được coi là tùy chọn (hoặc không) bằng lệnh nhận các đối số, bất kể các chuỗi đó được trình bày đến trình bao như thế nào.
chepner

1
@patrix Tôi đã làm ngay sau khi tôi đăng bình luận, sau đó bị phân tâm bởi các shenanigans đầu cuối khác, sau đó quên bình luận của tôi. :) Chepner ohhh, điều đó có ý nghĩa hơn.
OldBunny2800

Câu trả lời:


20

Điều này chỉ nên làm việc:

cd /path/to/-folderthatstartswithdash

CHỈNH SỬA :

Theo câu hỏi này , điều này hoạt động nếu bạn chỉ muốn nhập tên:

cd -- -folderthatstartswithdash

5
Các --phương pháp là câu trả lời đúng ... nó sẽ làm việc với hầu hết các tiện ích tiêu chuẩn mà chấp nhận một tên tập tin như một cuộc tranh cãi và tiết kiệm phải đủ điều kiện hoàn toàn con đường.
Kaithar

Các --phương pháp làm việc như nó "tắt" phân tích lập luận.
Tony Williams

3
Tại sao hạn chế "nếu bạn chỉ muốn nhập tên"? Nếu bạn cần thêm đối số, chỉ cần đặt chúng trước --.
Federico Poloni

@FedericoPoloni Tôi chỉ nói nếu bạn không muốn đường dẫn đầy đủ bạn có thể sử dụng đường dẫn này. Tất cả các đối số khác nên đi trước -.
Tom Shen

19
cd ./-folder

thường hoạt động khá tốt ở đây (và cũng với các lệnh khác)


Một điều hay về giải pháp này là nó hoạt động với bất kỳ chương trình hoặc lệnh nào, không chỉ là 'cd'; nó không phụ thuộc vào lệnh hoặc chương trình có bất kỳ hành vi đặc biệt nào như "-" để thay đổi cách giải thích các đối số tiếp theo.
Larry Gritz

-5

Đặt tên trong dấu ngoặc kép nên làm việc.


3
Tại sao điều đó sẽ làm việc? Làm thế nào là tiện ích sẽ biết sự khác biệt? Việc trích dẫn được thực hiện bởi shell, sau tất cả, mảng đối số mà tiện ích nhận được sẽ hoàn toàn giống nhau . Tôi thừa nhận rằng tôi đã không thử giải pháp của bạn, nhưng từ những gì tôi biết về vỏ sò, có vẻ khá rõ ràng, rằng điều này không thể thực hiện được.
Jörg W Mittag

Điều này sẽ hoạt động trên Windows IIRC và là điều tôi nghĩ đến đầu tiên, nhưng tôi có thể xác nhận rằng nó không hoạt động trên mac.
Cullub

2
Nếu nó hoạt động trên Windows thì chỉ vì mô hình dòng lệnh của Windows hoàn toàn vô lý và không nhất quán. Hoặc chỉ vì các lệnh Windows không được coi -là một ký tự tùy chọn. Nhưng không có cách nào để trích dẫn có thể thay đổi hành vi này.
R .. GitHub DỪNG GIÚP ICE
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.