2013-03-17 13 views
5

Po wprowadzeniu jakiegoś okrutnego polecenia w środowisku powłoki interaktywnej Pig, wchodzi w tryb słuchania (>>), jak poniżej. Jak bezpiecznie wyjść z tego polecenia, ale nadal pozostaje w środowisku powłoki świni. Ctrl + C usuwa mnie ze skorupy świni i tracę ustawienia środowiska do tego momentu.Wyjdź z polecenia powłoki świni bezpiecznie

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

Ludzie, czy istnieje na to wyjście? – Sid

+0

Mam do czynienia z tym samym problemem. Próbowałem polecenia 'quit' lub kończąc na' Ctrl-C', ale w jakiś sposób przesłoniłem istniejące ustawienia mapy klawiszy, a następnie całe moje 'backspace' jest konwertowane na'^H' – Incpetor

Odpowiedz

2

Sprawdziłem kod źródłowy świni. Nazywa się to secondary_prompt (znajduje się w PigScriptParser.jj, pliku gramatyki parsera wolnego od kontekstu dla JavaCC). Moim zdaniem wygląda na to, że nie można z niego wyjść. Próbowałem wielu kombinacji rzeczy, które widziałem w tym kodzie i nic nie działało. Wypróbowałem też wszystkie słowa typu wyjścia, które mogłem wymyślić, bezskutecznie.

Kiedy zrobiłem control-D to wyszedł i wyświetlane

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

Patrząc w klasie Grunt, w tym momencie, to robi:

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

To sugeruje mi, że interaktywność jest skończona na ten punkt.

Powiązane problemy