11-08-2019
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?
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
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
2. SCO
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
3. Shell Programming and Scripting
Kindly help me to build the script similar to VLOOKUP function of MS Excell. (5 Replies)
Discussion started by: hjoshi
5 Replies
4. UNIX for Dummies Questions & Answers
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
5. UNIX for Dummies Questions & Answers
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
6. Programming
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
7. UNIX for Dummies Questions & Answers
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
8. UNIX for Dummies Questions & Answers
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
9. UNIX for Beginners Questions & Answers
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
10. Cybersecurity
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
LEARN(1) General Commands Manual LEARN(1)
NAME
learn - computer aided instruction about UNIX
SYNOPSIS
learn [ -directory ] [ subject [ lesson ] ]
DESCRIPTION
Learn gives Computer Aided Instruction courses and practice in the use of UNIX, the C Shell, and the Berkeley text editors. To get started
simply type learn. If you had used learn before and left your last session without completing a subject, the program will use information
in $HOME/.learnrc to start you up in the same place you left off. Your first time through, learn will ask questions to find out what you
want to do. Some questions may be bypassed by naming a subject, and more yet by naming a lesson. You may enter the lesson as a number
that learn gave you in a previous session. If you do not know the lesson number, you may enter the lesson as a word, and learn will look
for the first lesson containing it. If the lesson is `-', learn prompts for each lesson; this is useful for debugging.
The subject's presently handled are
files
editor
vi
morefiles
macros
eqn
C
There are a few special commands. The command `bye' terminates a learn session and `where' tells you of your progress, with `where m'
telling you more. The command `again' re-displays the text of the lesson and `again lesson' lets you review lesson. There is no way for
learn to tell you the answers it expects in English, however, the command `hint' prints the last part of the lesson script used to evaluate
a response, while `hint m' prints the whole lesson script. This is useful for debugging lessons and might possibly give you an idea about
what it expects.
The -directory option allows one to exercise a script in a nonstandard place.
FILES
/usr/share/learn subtree for all dependent directories and files
/usr/tmp/pl* playpen directories
$HOME/.learnrc startup information
SEE ALSO
csh(1), ex(1)
B. W. Kernighan and M. E. Lesk, LEARN - Computer-Aided Instruction on UNIX
BUGS
The main strength of learn, that it asks the student to use the real UNIX, also makes possible baffling mistakes. It is helpful, espe-
cially for nonprogrammers, to have a UNIX initiate near at hand during the first sessions.
Occasionally lessons are incorrect, sometimes because the local version of a command operates in a non-standard way. Occasionally a lesson
script does not recognize all the different correct responses, in which case the `hint' command may be useful. Such lessons may be skipped
with the `skip' command, but it takes some sophistication to recognize the situation.
To find a lesson given as a word, learn does a simple fgrep(1) through the lessons. It is unclear whether this sort of subject indexing is
better than none.
Spawning a new shell is required for each of many user and internal functions.
The `vi' lessons are provided separately from the others. To use them see your system administrator.
7th Edition October 22, 1996 LEARN(1)