2012-03-12 44 views
8

Bên trong thư mục Linux của tôi, tôi có tệp có tên TopSample$Config.class. Bất cứ khi nào tôi cố gắng sao chép tệp này vào một vị trí/thư mục khác, nó không cho phép tôi làm như vậy.

tôi đang làm nó theo cách này:

cp TopSample$Config.class /home/praveen/com/config/ 

Xin vui lòng cho tôi biết nếu điều này là không thể.

+0

Trích các $: 'TopSample \ $ etc', hoặc' 'TopSample $ etc''. Và tránh sử dụng tên tập tin với đô la, không gian, &, |,> vv trên linux. – alexis

+3

@alexis: Trình biên dịch Java tạo các tệp này mà bạn không yêu cầu. Bên cạnh đó, tất cả các công cụ sẽ có thể xử lý các nhân vật hài hước trong tên tập tin. –

+0

Tôi hiểu. Các công cụ chắc chắn có thể xử lý chúng, người mới bắt đầu với dòng lệnh là một câu chuyện khác. – alexis

Trả lời

20

Shell sẽ diễn giải $Config làm biến. Và nó sẽ mở rộng thành chuỗi rỗng.
Bạn có thể đặt dấu nháy đơn xung quanh để giữ giá trị văn chương:

cp 'TopSample$Config.class' /home/praveen/com/config/ 

Một cách khác là để thoát khỏi (ký hiệu đô la) $ bằng cách sử dụng \ (backslash)

cp TopSample\$Config.class /home/praveen/com/config/ 
2

Đặt dấu nháy đơn xung quanh tên tệp.

cp 'TopSample$Config.class' /home/praveen/com/config 
+0

Cảm ơn bạn rất nhiều. – Pawan

0

Hoặc thay thế các nhân vật vi phạm với metacharacter tên của '?', có nghĩa là "bất kỳ một ký tự nào". Lưu ý rằng trong khi điều này có thể thuận tiện hơn và đòi hỏi sự tổ hợp phím ít nhất, lưu ý rằng một tên tập tin của TopSample?Config.class cũng sẽ phù hợp TopSampleaConfig.class, TopSamplebConfig.class, TopSamplecConfig.class vv

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