···18181919An argument starting with `$` such as `$arg` is an optional argument, which will be passed to the script as an environment variable like `$ARGSH_ARG`, where all `-` get converted to `_`.
20202121+An argument starting with `?` such as `?arg` is a flag, which will be passed to the script as an environment variable like `$ARGSH_ARG`, where all `-` get converted to `_`, with the value set to `1`, the value is irrelevant, just check if the variable is empty.
2222+2123Any additional positional arguments passed to the script get appended after the required arguments.
22242323-Optionally, you can set the shell to use as such `bash|name;count`, defaults to `sh` if ommited.
2525+Optionally, you can set the shell to use as such `bash|name;count;etc`, defaults to `sh` if ommited.
24262527## Limitations
26282729For the short version of arguments to work properly, all arguments must start with different characters.
28302929-All arguments must have a matching value, as such, flags aren't possible using argsh.
3030-3131-Limit of 256 arguments (if you have more than that please use an actual programming language).
3131+Limit of 256 required arguments (if you have anything close to that please use an actual programming language).
32323333## Testing
34343535Run the test script as such and mess around with the arguments
36363737```
3838-./test --required indeed --also-required nice --optional woah --second-optional crazy am additional
3838+./test --required indeed --also-required nice --flag --optional woah --second-optional crazy am additional
3939```