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 ABOUT DEBIAN
git-difftool
GIT-DIFFTOOL(1) Git Manual GIT-DIFFTOOL(1)
NAME
git-difftool - Show changes using common diff tools
SYNOPSIS
git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]
DESCRIPTION
git difftool is a git command that allows you to compare and edit files between revisions using common diff tools. git difftool is a
frontend to git diff and accepts the same options and arguments. See git-diff(1).
OPTIONS
-y, --no-prompt
Do not prompt before launching a diff tool.
--prompt
Prompt before each invocation of the diff tool. This is the default behaviour; the option is provided to override any configuration
settings.
-t <tool>, --tool=<tool>
Use the diff tool specified by <tool>. Valid diff tools are: araxis, bc3, deltawalker, diffuse, emerge, ecmerge, gvimdiff, kdiff3,
kompare, meld, opendiff, p4merge, tkdiff, vimdiff and xxdiff.
If a diff tool is not specified, git difftool will use the configuration variable diff.tool. If the configuration variable diff.tool is
not set, git difftool will pick a suitable default.
You can explicitly provide a full path to the tool by setting the configuration variable difftool.<tool>.path. For example, you can
configure the absolute path to kdiff3 by setting difftool.kdiff3.path. Otherwise, git difftool assumes the tool is available in PATH.
Instead of running one of the known diff tools, git difftool can be customized to run an alternative program by specifying the command
line to invoke in a configuration variable difftool.<tool>.cmd.
When git difftool is invoked with this tool (either through the -t or --tool option or the diff.tool configuration variable) the
configured command line will be invoked with the following variables available: $LOCAL is set to the name of the temporary file
containing the contents of the diff pre-image and $REMOTE is set to the name of the temporary file containing the contents of the diff
post-image. $MERGED is the name of the file which is being compared. $BASE is provided for compatibility with custom merge tool
commands and has the same value as $MERGED.
-x <command>, --extcmd=<command>
Specify a custom command for viewing diffs. git-difftool ignores the configured defaults and runs $command $LOCAL $REMOTE when this
option is specified. Additionally, $BASE is set in the environment.
-g, --gui
When git-difftool is invoked with the -g or --gui option the default diff tool will be read from the configured diff.guitool variable
instead of diff.tool.
See git-diff(1) for the full list of supported options.
CONFIG VARIABLES
git difftool falls back to git mergetool config variables when the difftool equivalents have not been defined.
diff.tool
The default diff tool to use.
diff.guitool
The default diff tool to use when --gui is specified.
difftool.<tool>.path
Override the path for the given tool. This is useful in case your tool is not in the PATH.
difftool.<tool>.cmd
Specify the command to invoke the specified diff tool.
See the --tool=<tool> option above for more details.
difftool.prompt
Prompt before each invocation of the diff tool.
SEE ALSO
git-diff(1)
Show changes between commits, commit and working tree, etc
git-mergetool(1)
Run merge conflict resolution tools to resolve merge conflicts
git-config(1)
Get and set repository or global options
GIT
Part of the git(1) suite
Git 1.7.10.4 11/24/2012 GIT-DIFFTOOL(1)