Provided by: morbig_0.10.4-7_amd64
NAME
morbig - POSIX shell script parser
SYNOPSIS
morbig [ option ]... [ script-file ]...
DESCRIPTION
The morbig(1) command is a parser for shell scripts written in the POSIX shell script language. It parses the scripts statically, that is without executing them, and constructs a concrete syntax tree for each of them. The concrete syntax trees are built using constructors according to the shell grammar of the POSIX standard. As required by the POSIX standard, morbig does alias expansion prior to syntactic analysis. The alias and unalias commands are executed by morbig, allowing for multiple arguments, but only when these commands occur at toplevel, that is not inside a compound control structure like a conditional construct or a loop construct. morbig raises an error if an alias or unalias command occurs inside a compound construct since these cannot be handled statically. The parser processes input files in order, and stops at the first error encountered. This behavior may be changed by using the --continue-after-error option.
OPTIONS
The following command-line options are recognized: --skip-nosh Skip input files which either are ELF executables, or which start with a magic string indicating a bash or perl script. --as format Write for each input file that has been successfully parsed a file containing the concrete syntax tree of the script. The format may be one of the following: bin binary format. This format can be read by applications using the morbig OCaml library. This is the default. dot graphic representation in the dot format. json complete JSON output, including position information. simple simplified JSON output. Use this for human-readable output. none do not serialise the concrete syntax tree. --from-stdin Read names of input files from standard input. --continue-after-error If parsing of input file fails, then write the error message in file file.morbigerror instead of stderr, and continue with the next input file. This may be used to parse a large number of scripts without creating a new UNIX process for each of them, like this: find . -name "*.sh" | morbig --continue-after-error --from-stdin --display-stats Print at the end the total number of treated input files, the number of skipped input files, and the number of rejected input files. --debug Activate debugging information. --version Show version number and exit. --help Display usage information.
AUTHORS
morbig has been written for the project CoLiS by Yann RĂ©gis-Gianas, Nicolas Jeannerod and Ralf Treinen. MORBIG(1)