The Unix convention is 0 means everything went well, and non-zero means 
something else happened. Here’s a contrived example of a bash wrapper around 
GNU tar. By contrived I mean it works but I would not use it in practice … I’d 
just use tar directly or use the Python tarfile module if I wanted finer grain 
control of the process.

#!/bin/bash
if [ $# -lt 2 ]; then
                echo "Usage: $0 [tar] [directory to compare]"
fi
tar --diff -f $1 $2 2>/dev/null
r=$?
if [ $r -eq 0 ]; then
                echo $1 has $2 in it, unmodified
elif [ $r -eq 1 ]; then
                echo $1 does not have $2 in it unmodified
elif [ $r -eq 2 ]; then
                # maybe do more tests here?
                echo There is a problem with $1 or with $2
else
                echo "Other error $r"
fi

Incidentally, I found the man page installed on Ubuntu20.04 for tar is out of 
date. tar returns 64 if doesn’t like the command line arguments. Nothing works 
until it is tested.

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to