tôi có một chương trình mà đưa ra một biến environementđọc biến môi trường bash
TIME=1328189073
CLIENT[if-modified-since]=Thu, 02 Feb 2012 12:09:40 GMT
HTTP_FILE=/news/rss.xml?edition=uk
HTTP_PORT=80
HTTP_HOST=feeds.bbci.co.uk
HTTP_PROTO=http
CLIENT[host]=feeds.bbci.co.uk
CLIENTID=10
CLIENT[user-agent]=Safari
PWD=/
VERSION=SR.4.2.2.MR.20110523
CLIENT[accept]=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
SHLVL=1
CLIENT[accept-language]=en-gb,en;q=0.5
INTERFACE=192.168.221.196
CLIENT[cache-control]=max-age=0
CLIENT[accept-encoding]=gzip, deflate
HTTP_METHOD=GET
CLIENT[user-agent]
tuy nhiên khi tôi cố gắng để truy cập vào một trong những biến này từ một kịch bản bash nó mang lại cho không có kết quả
echo ${CLIENT[user-agent]} >> ${LOG}
tuy nhiên hoạt động này
echo ${TIME} ${CLIENTID} ${USERNAME} ${IP} ${HTTP_METHOD} ${HTTP_PROTO} ${HTTP_HOST} ${HTTP_PORT} ${HTTP_FILE} ${SIZE} >> ${LOG}
bất kỳ ý tưởng nào tại sao tác nhân người dùng không hiển thị?
@FatalError - Thực tế có hai dòng với chuỗi này. Cái đầu tiên gán một giá trị, nhưng cái thứ hai thiếu toán tử gán, vì vậy nó không làm gì cả. – rodrigo
Dấu ngoặc '[]' dường như gây ra vấn đề. Bạn có thực sự cần chúng trong tên? Tôi không nghĩ Bash hỗ trợ các mảng với một chỉ số không phải là số. – ugoren
vâng các biến môi trường được đưa ra bởi proxy, vì vậy nó có các dấu ngoặc .. tôi có thể đọc tất cả các trường không có khung khác .. – krisdigitx