diff --git a/Userland/Shell/PosixParser.cpp b/Userland/Shell/PosixParser.cpp index 67b07e2670..59923fb4e7 100644 --- a/Userland/Shell/PosixParser.cpp +++ b/Userland/Shell/PosixParser.cpp @@ -1365,12 +1365,15 @@ ErrorOr> Parser::parse_for_clause() iterated_expression = parse_word_list(); if (saw_in) { - if (peek().type == Token::Type::Semicolon) + if (peek().type == Token::Type::Semicolon || peek().type == Token::Type::Newline) skip(); else error(peek(), "Expected a semicolon, not {}", peek().type_name()); } + while (peek().type == Token::Type::Newline) + skip(); + auto body = TRY(parse_do_group()); return AST::make_ref_counted( start_position.with_end(peek().position.value_or(empty_position())),