2013-03-17 23 views
5

當我在豬交互式shell環境中輸入一些錯誤命令時,它會進入如下所示的監聽模式(>>)。我如何安全地出來這個命令,但仍然留在豬殼環境。 Ctrl + C帶我離開豬殼,然後放鬆我的環境設置直到那一刻。安全退出豬殼命令

**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

夥計們,有沒有這方面的出路? – Sid 2013-05-03 06:02:09

+0

我面臨同樣的問題。我嘗試過'quit'命令或以'Ctrl-C'結尾,但不知何故它覆蓋了現有的鍵盤映射設置,然後我所有的'backspace'都被轉換爲'^ H' – Incpetor 2017-11-28 17:24:08

回答

2

我看過豬的源代碼。這稱爲secondary_prompt(可在PigScriptParser.jj中找到,它是JavaCC的上下文無關語法分析器文件)。在我看來,它看起來不能被解決。我嘗試了很多在代碼中看到的東西的組合,但沒有成功。也嘗試了所有我能想到的退出類型的詞語,無濟於事。

當我做控制d它退出並顯示

>> 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 : "" 

展望步兵班,在這一點上,它的作用:

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

這表明,我認爲互動是在這點。