| Safe Haskell | Safe |
|---|---|
| Language | Haskell98 |
Language.Bash.Syntax
Description
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 WordList List
- | ArithFor String List
- | Select String WordList List
- | Case Word [CaseClause]
- | If List List (Maybe List)
- | Until List List
- | While List List
- data WordList
- 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.
Constructors
| Command ShellCommand [Redir] |
data ShellCommand Source
A Bash command.
Constructors
| 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 WordList List | A |
| ArithFor String List | An arithmetic |
| Select String WordList List | A |
| Case Word [CaseClause] | A |
| If List List (Maybe List) | An |
| Until List List | An |
| While List List | A |
A word list or "$@".
A case clause terminator.
Constructors
| Break | ;; |
| FallThrough | ;& |
| Continue | ;;& |
Redirections
A redirection.
Constructors
| Redir | A redirection. |
| Heredoc | A here document. |
Fields
| |
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.
Constructors
| Sequential | ; |
| Asynchronous | & |
A right-associative list of pipelines.
A (possibly timed or inverted) pipeline, linked with | or |&.
Constructors
| Pipeline | |
Fields
| |
Assignments
An assignment.
An assignment operator.
Constructors
| Equals | = |
| PlusEquals | += |