$ getargs

Parse command line arguments in Bash scripts/functions using a natural syntax!

#! /bin/bash
source getargs.sh

getargs {command} -m/--{message} +v/-{verbose} -- "$@"

echo "Command: $command, Message: $message, Verbose: $verbose"
./myScript commit -m "Hello, world" -v
# => Command: commit, Message: Hello, world, Verbose: true

Basics

Use with scripts
Use with functions
Setting Variables
Printing to STDOUT

Arguments

getargs {varname}
List Arguments
Optional Arguments

Options

Parse Provided Values:
-o/--option {varname}
-o/--{varname}

Flags

Parse Boolean Flags:
+f/-flag {varname}
+f/-{varname}

Validation

Parsing Numbers
Parsing Booleans
Parsing Patterns
Custom Validation