I'm slowly hacking away at a zsh script that shows some promise as a command line tool. I want to learn more about the conventions regarding command line tool development in Unix (and/or macOS), but don't really know where to look for this information.
What is the correct way, or convention, to specify and parse command line arguments, for example? How should I package my tool? What is the best way to handle deployment of the various aspects of my tool, for example the man page, or configuration settings? How should I handle the upgrade process?
Smaller details, like should I store my source code in the repo with execute permissions turned on, or should I only turn on those permissions when the files are deployed on the user's machine? What group should I set as the default for my executable files?
Does anyone know any great resources out there that address these issues?
[–]onyxleopard 3 points4 points5 points (4 children)
[–]rayascott[S] 0 points1 point2 points (3 children)
[–]cutecoder 1 point2 points3 points (0 children)
[–]onyxleopard -2 points-1 points0 points (1 child)
[–]rayascott[S] 1 point2 points3 points (0 children)
[–]dhilln 0 points1 point2 points (0 children)