2013-03-17 14 views
5

Wenn ich einige fehlgeschlagene Befehl in einer interaktiven Shell-Umgebung Pig eingeben, tritt es in Hörmodus (>>) wie unten. Wie komme ich sicher aus diesem Befehl, aber bleiben Sie immer noch in der Schweinehalm-Umgebung. Strg + C bringt mich aus der Schweinehülle und ich verliere meine Umgebung bis zu diesem Punkt.Exit Schwein Shell-Befehl sicher

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

Leute, gibt es einen Ausweg auf diesem? – Sid

+0

Ich stehe vor dem gleichen Problem. Ich habe versucht, 'quit' Befehl oder endet mit' Ctrl-C', aber dann irgendwie überschreibt es bestehende Tastenbelegung Einstellungen und dann alle meine 'Backspace' wird in'^H' umgewandelt – Incpetor

Antwort

2

Ich habe in den Schwein Quellcode geschaut. Dies wird als secondary_prompt (in PigScriptParser.jj, einer kontextfreien Parser-Grammatikdatei für JavaCC) bezeichnet. Für mein Auge sieht es so aus, als könne man es nicht verlassen. Ich habe viele Kombinationen von Dingen ausprobiert, die ich in diesem Code gesehen habe und nichts hat funktioniert. Ich probierte auch alle Wörter aus dem Ausgangstyp, die ich mir vorstellen konnte, ohne Erfolg.

Wenn ich die Kontrolle-d tat es verlassen und angezeigt

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

in Grunt Klasse sucht, an diesem Punkt, es tut:

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

Dies ist für mich schlägt vor, dass die Interaktivität auf das hier vorbei ist Punkt.