Khi nào bạn phải sử dụng dấu ngoặc kép trong cấu hình?


Câu trả lời:


29

Câu trả lời chính xác là "không bao giờ". Bạn có thể trích dẫn hoặc hiển thị \một số ký tự đặc biệt như "" hoặc ";" trong chuỗi (các ký tự sẽ làm cho ý nghĩa của một câu lệnh mơ hồ), vì vậy

add_header X-MyHeader "Test String;"; 

sẽ làm việc như

add_header X-MyHeader Test\ String\;;

Trong thực tế: Chỉ cần sử dụng dấu ngoặc kép :)


Chỉnh sửa: Như một số người thích nitpick: Danh sách các ký tự không nhất thiết có thể tạo ra một câu lệnh mơ hồ là theo sự hiểu biết của tôi về nginxcú pháp cấu hình:

<space> " ' { } ; $ \ 

và có thể cần phải thoát $\thậm chí trong các chuỗi được trích dẫn để tránh mở rộng biến.

Thật không may, tôi không thể tìm thấy một danh sách đầy đủ và có thẩm quyền của các nhân vật như vậy trong các tài liệu.


1
Nó không phải luôn luôn là về nitpicking. Tệp cấu hình có thể được tạo bởi phần mềm của bên thứ ba. Mà có thể được cung cấp với một mẫu và các biến được nội suy. Phần mềm không thể chắc chắn những gì các biến có thể chứa, vì vậy lý tưởng là nó nên biết cách trích dẫn bất kỳ chuỗi nào.
x-yuri

5

Dấu ngoặc kép được yêu cầu cho các giá trị chứa (các) không gian và / hoặc một số ký tự đặc biệt khác, nếu không nginxsẽ không nhận ra chúng. Trong ví dụ hiện tại của bạn trích dẫn không có sự khác biệt, nhưng dù sao trích dẫn giá trị là một thực hành tốt / quy tắc của ngón tay cái


3
Danh sách các nhân vật đặc biệt là gì. Có tài liệu về điều này và làm thế nào để thoát khỏi chúng. Tôi đã thấy cả hai trích dẫn đơn và kép trên cùng một dòng ...
Pork 'n' Bunny
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.