2013-03-17 58 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(); 

这表明,我认为互动是在这点。