2013-03-17 36 views
5

Khi tôi nhập một số lệnh sai trong môi trường vỏ tương tác Pig, nó sẽ chuyển sang chế độ nghe (>>) như dưới đây. Làm thế nào để tôi một cách an toàn đi ra khỏi lệnh này nhưng vẫn ở trong môi trường vỏ lợn. Ctrl + C đưa tôi ra khỏi vỏ lợn và tôi mất thiết lập môi trường của tôi cho đến thời điểm đó.Thoát lệnh shell shell an toàn

**grunt> Test_group = group Block2_Prep_filter by (page_visit_id as grp_page_visit_id, page_user_guid as grp_page_user_guid); 
>> ; 
>> 
>>** 
+0

Mọi người, có cách nào không? – Sid

+0

Tôi đang đối mặt với cùng một vấn đề. Tôi đã thử lệnh 'quit' hoặc kết thúc bằng' Ctrl-C' nhưng sau đó bằng cách nào đó nó ghi đè lên các thiết lập keymap hiện có và sau đó tất cả 'backspace' của tôi được chuyển thành'^H' – Incpetor

Trả lời

2

Tôi đã xem mã nguồn của lợn. Điều này được gọi là secondary_prompt (được tìm thấy trong PigScriptParser.jj, một tệp ngữ pháp phân tích ngữ cảnh miễn phí cho JavaCC). Để mắt của tôi có vẻ như nó không thể được nhận ra. Tôi đã thử rất nhiều sự kết hợp của những thứ tôi thấy trong đoạn mã đó và không có gì hiệu quả. Cũng đã thử tất cả các từ loại lối ra tôi có thể nghĩ đến, không có kết quả.

Khi tôi đã kiểm soát-d nó thoát và hiển thị

>> 2013-06-19 12:51:43,632 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000: 
Error during parsing. Lexical error at line 83, column 0. Encountered: <EOF> after : "" 

Nhìn trong lớp Grunt, vào thời điểm đó, nó:

parser.setInteractive(false); 
return parser.parseStopOnError(); 

này gợi ý với tôi tương tác đó là qua tại đây điểm.

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