UNIX Utility Development Conventions?


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
UNIX Utility Development Conventions?

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?
# 2  
Greetings, and welcome!

This is not a forum for Hackers so if that is your purpose, it is pointless to post here, you will be banned very shortly...

You mention you are in the process of developing a utility, fine only we cant help you not knowing what is its purpose, from what I understand its a shell script, as such there are no true standards, as you are free to implement whatever the way you want, it gets more tricky if the idea is that it should have a natural UNIX feeling, in such case look how the different vendors implement their stuff and find a suitable compromise, knowing there are rules on man pages ( 1: users, 1M: system administration etc...)

For the rest, up to you but the main point is more you make things complex more you suffer to maintain and update, using ordinary good coding practice and keeping up the documentation in the script is essential, 4-5 undocumented modifications, and suddenly you fall on a side effect bug, you will spend quite some time to figure out what is going on...

We are always ready and interested to see what people are capable to achieve in shell scripts only the rules here are :
  1. - You explain your goals
  2. - You show ( code) what you have done so far, if with issues then with error output
  3. - When someone corrects or give you some code, you test it and give us some feedback
  4. - You accept to be open-minded as, see first rules, depending of your level of understanding and knowledge, you may see some here have quite some imagination.. and you will have many different solutions to your aims, and the best way to learn is to test them all and ask for what you don't understand in the code, or procedure, as we all have different background our ways of resolving depends of our experience...

So the is not much more to say until we know a bit more about your project...
These 2 Users Gave Thanks to vbe For This Post:
# 3  
Hi MonilGome...

I will add to vbe's post and say if you want any of your code, whether it be a shell script, a dedicated compiled executable or a separately interpreted script, to be portable then make sure it is POSIX compliant; also if it is a dedicated executable and you intend it to be used as along with other utilities make sure you include a piping facility.
For example: echo "3 + 7" | bc ...
Also 'zsh', along with 'ksh[93]', has floating point arithmetic; DO NOT take this for granted, POSIX compliant shells only have integer arithmetic ONLY - so beware.

As a hobbyist coder, this is just my 5 pennoth...

Bazza...
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #937
Difficulty: Medium
The echo reply is an ICMP message generated in response to an echo request; it is optional for all hosts, and must include the exact payload received in the request.
True or False?

10 More Discussions You Might Find Interesting

1. Cybersecurity

Proper naming conventions

Hey guys, not sure should I post it here or in 'What is on Your Mind?' Iím discussing usage of DSL (domain specific language) in security tools with my colleagues. We haven't been able to reach an agreement over naming conventions. There are many tools using DSL: splunk, sumologic,... (2 Replies)
Discussion started by: Tobby P
2 Replies

2. UNIX for Beginners Questions & Answers

UNIX mail utility

Hi, I work on a Middleware application which is installed on Windows, but its file System is on HP UNIX. I am supposed to change the SMTP host address for my application. But I am not able to find the file where the old SMTP host would have been configured/hardcoded. Can anyone assist me on this... (2 Replies)
Discussion started by: jhilmil
2 Replies

3. UNIX for Dummies Questions & Answers

Typographic conventions in bash 4.2

is there a typographic convention that is followed in the man pages. where could a description be found. at this time i am in man stty and the author uses upper case in some places. and my brain is just burning to a fizzle while studying a book on bash and trying to stay in scope of the... (1 Reply)
Discussion started by: cowLips
1 Replies

4. UNIX for Dummies Questions & Answers

file hashing utility in unix

I am looking for a utility that does file hashing in unix. ...Please let me know of any good easy to use utility (3 Replies)
Discussion started by: jbjoat
3 Replies

5. Programming

c calling conventions

C calling convention we all know defines a way how the parameters are pushed onto the stack. My question is when and how does this C calling conventions matters to a user? When the user will have to bother about the calling conventions in his project? (5 Replies)
Discussion started by: rupeshkp728
5 Replies

6. UNIX for Dummies Questions & Answers

Best unix incremental backup utility?

Hello everyone. Could you please advise of what would be the best Unix (Debian 4) program for regular (daily or weekly) incremental backups? I'm not sure whether the backups will be stored on a "backup" drive on the same system or on an external "backup" system, but we would like to have a... (2 Replies)
Discussion started by: nottrobin
2 Replies

7. UNIX for Dummies Questions & Answers

age utility in unix

Hi, Can anyone explain me the use of age utility and how it works? Looking forward reply... Thanks, Venkatesh. (1 Reply)
Discussion started by: venkatesht
1 Replies

8. Shell Programming and Scripting

VLOOKUP utility in UNIX

Kindly help me to build the script similar to VLOOKUP function of MS Excell. (5 Replies)
Discussion started by: hjoshi
5 Replies

9. SCO

Zip utility in sco unix

how can zip a directory in sco unix and transfer it to any other system using ftp. and finally how can i unzip it regards, ajay (1 Reply)
Discussion started by: ajay234
1 Replies

10. UNIX for Advanced & Expert Users

Problem with tip utility in unix

Hi , I have wrote a telnet clinet application to interact with remote system . This program takes the screen shots for every interaction and send back to us. After connecting to remote machine , i want to call tip utility to interact with a device which is connected to one remote system. Now my... (0 Replies)
Discussion started by: prasadvsda
0 Replies

Featured Tech Videos