2010-08-15 46 views
35

Tôi là một ứng dụng phát triển ứng dụng web. Tôi có một chức năng mở một tập tin và đọc nó. Thật không may, cấu trúc thư mục giữa các máy chủ thử nghiệm và máy chủ sản xuất khác nhau. Tôi đã nói với "sử dụng một con đường tương đối ~". Tôi đã không thể tìm thấy bất kỳ tài nguyên trên '~', mặc dù!Làm cách nào để sử dụng dấu '~' (dấu ngã) trong ngữ cảnh của đường dẫn?

Làm cách nào để sử dụng ký tự dấu ngã trong ngữ cảnh của đường dẫn?

EDIT: Đây là bằng Python. Tôi đã khắc phục sự cố, sử dụng os.path.expanduser().

+2

Vui lòng chỉ định loại nền tảng phát triển web bạn đang sử dụng. Có ASP.NET không? Rails? Python? –

+0

Tôi có thể nghĩ về hai câu trả lời hoàn toàn chính xác nhưng hoàn toàn khác nhau, tùy thuộc vào những gì bạn đang làm phát triển ứng dụng web của bạn ** với **. Thật vậy, các câu trả lời hoàn toàn khác nhau cho đến nay được bao gồm những người, nhưng không ai có thể chắc chắn đó là đúng, hoặc nếu nó không phải là một thứ ba. Vui lòng chỉnh sửa câu hỏi của bạn để bao gồm công nghệ được sử dụng. –

+0

Bạn đã khắc phục sự cố ~ sẽ tốt hơn nếu bạn đã đăng một số mã mẫu – Mawg

Trả lời

33

nó là $HOME var trong UNIX, thường là /home/username.

"nhà của bạn" có nghĩa là quê hương của người sử dụng của những người thực hiện một lệnh như cd ~/MyDocuments/cd /home/user_executing_cd_commnd/MyDocuments

+1

'~' trỏ tới '$ HOME', có thể là bất kỳ thư mục nào (tức là, không nhất thiết phải là'/home/username'). –

+0

đã chỉnh sửa. Cảm ơn bạn đã viết câu hỏi đó. – dierre

14

Trừ khi bạn đang viết một kịch bản shell hoặc sử dụng một số ngôn ngữ khác mà biết để thay thế giá trị của $HOME cho ~, dấu ngã trong đường dẫn tệp không có ý nghĩa đặc biệt và sẽ được coi là bất kỳ ký tự không đặc biệt nào khác.

Nếu bạn đang viết một kịch bản lệnh shell, các shell không giải thích các dấu trừ trừ khi chúng xuất hiện như ký tự đầu tiên trong một đối số. Nói cách khác, ~/file sẽ trở thành /path/to/users/home/directory/file, nhưng ./~/file sẽ được diễn giải theo nghĩa đen (tức là ", một tệp có tên file trong thư mục con của . được gọi là ~").

Được sử dụng trong URL, giải thích dấu ngã dưới dạng viết tắt cho thư mục chính của người dùng (ví dụ: http://www.foo.org/~bob) là một quy ước được vay từ Unix. Việc triển khai hoàn toàn dành riêng cho máy chủ, vì vậy bạn cần kiểm tra tài liệu cho máy chủ web của mình để xem liệu nó có ý nghĩa đặc biệt nào không.

Các vấn đề liên quan