2013-05-08 16 views
8

Tôi muốn in chuỗi có tên "$ 1". Nhưng khi tôi làm điều này với echo nó in chuỗi tương đương với biến "$ 1". Làm thế nào tôi có thể in "$ 1" giống như chuỗi?

ví dụ:

set -- "output" # this sets $1 to be "output" 
echo $1   # ==> output 

Nhưng tôi muốn điều này:

echo $1  # ==> $1 
+0

FYI, '$ 1 = isn output' 't thực sự hợp lệ cú pháp; Tôi đã chỉnh sửa ví dụ để thực sự * hoạt động * khi chạy. :) –

Trả lời

17

Bạn phải thoát khỏi $ để có nó hiển thị:

$ echo "\$1" 

hoặc, như ghi nhận của JeremyP trong nhận xét, chỉ cần sử dụng dấu ngoặc đơn để giá trị của $1 không có giá trị panded:

$ echo '$1' 
+1

hoặc 'echo' $ 1'' (sử dụng dấu nháy đơn) – JeremyP

+0

kiến ​​thức của bạn về trình bao tuyệt vời! bạn thật tuyệt vời! ;) –

+1

Oh thanks @ZiyaddinSadigov, nhưng bạn sẽ học được điều này và nhiều hơn nữa ở đây trong SO, đó là những gì đã xảy ra với tôi: D Hẹn gặp lại! – fedorqui

3

Bạn cần một trong hai:

  • Kèm theo biến trong dấu ngoặc kép SINGLE: echo '$1'
  • Thoát khỏi $ dấu: echo "\$1"
+0

cảm ơn, @ carlos-campderros! –

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