Safe Haskell | Safe-Inferred |
---|
Shell script types.
- data Command = Command ShellCommand [Redir]
- data ShellCommand
- = SimpleCommand [Assign] [Word]
- | AssignBuiltin Word [Either Assign Word]
- | FunctionDef String List
- | Coproc String Command
- | Subshell List
- | Group List
- | Arith String
- | Cond (CondExpr Word)
- | For String [Word] List
- | ArithFor String List
- | Select String [Word] List
- | Case Word [CaseClause]
- | If List List (Maybe List)
- | Until List List
- | While List List
- data CaseClause = CaseClause [Word] List CaseTerm
- data CaseTerm
- = Break
- | FallThrough
- | Continue
- data Redir
- data IODesc
- data RedirOp
- data HeredocOp
- newtype List = List [Statement]
- data Statement = Statement AndOr ListTerm
- data ListTerm
- data AndOr
- data Pipeline = Pipeline {}
- data Assign = Assign Parameter AssignOp RValue
- data AssignOp
- = Equals
- | PlusEquals
- data RValue
Commands
A Bash command with redirections.
data ShellCommand Source
A Bash command.
SimpleCommand [Assign] [Word] | A simple command consisting of assignments followed by words. |
AssignBuiltin Word [Either Assign Word] | The shell builtins |
FunctionDef String List | A function name and definition. |
Coproc String Command | A named coprocess. |
Subshell List | A |
Group List | A |
Arith String | An arithmetic expression. |
Cond (CondExpr Word) | A Bash |
For String [Word] List | A |
ArithFor String List | An arithmetic |
Select String [Word] List | A |
Case Word [CaseClause] | A |
If List List (Maybe List) | An |
Until List List | An |
While List List | A |
data CaseClause Source
A single case clause.
A case clause terminator.
Break | ;; |
FallThrough | ;& |
Continue | ;;& |
Redirections
A redirection.
Redir | A redirection. |
Heredoc | A here document. |
|
A redirection file descriptor.
A redirection operator.
A here document operator.
Lists
A compound list of statements.
A single statement in a list.
A statement terminator.
A right-associative list of pipelines.
A (possibly timed or inverted) pipeline, linked with |
or |&
.
Pipeline | |
|
Assignments
An assignment.
An assignment operator.