A handy way to handle sh/bash CLI parameters ↦
So Argc is a little Rust program that your bash scripts can use to make handling command-line parameters easy. You describe the options, parameters, and subcommands in comments like this:
# @describe A demo cli
# @cmd Upload a file
# @arg target! File to upload
upload() {
echo "cmd upload"
echo "arg: target $argc_target"
}
Then you trust Argc to parse that and do the heavy lifting:
eval "$(argc -e $0 "$@")"
The only drawback (aside from potential parsing bugs) to this approach is your script now depends on having argc
in the machine’s executable path. i.e. – it’s not portable.
What’d be even cooler, IMHO, would be to instead use argc
as a pre-processor of sorts that spits out a pure-bash implementation from your input script. Regardless, a cool idea!
Discussion
Sign in or Join to comment or subscribe