mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-02 09:50:50 +02:00
commit bash-20130301 snapshot
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# original from:
|
||||
# @(#) uuenc.ksh 1.0 93/09/18
|
||||
# 93/09/18 john h. dubois iii (john@armory.com)
|
||||
#
|
||||
# conversion to bash v2 syntax by Chet Ramey
|
||||
|
||||
istrue()
|
||||
{
|
||||
test 0 -ne "$1"
|
||||
}
|
||||
|
||||
isfalse()
|
||||
{
|
||||
test 0 -eq "$1"
|
||||
}
|
||||
|
||||
phelp()
|
||||
{
|
||||
echo "$name: uuencode files.
|
||||
$Usage
|
||||
For each filename given, $name uuencodes the file, using the final
|
||||
component of the file's path as the stored filename in the uuencoded
|
||||
archive and, with a .${SUF} appended, as the name to store the archive in.
|
||||
Example:
|
||||
$name /tmp/foo
|
||||
The file /tmp/foo is uuencoded, with \"foo\" stored as the name to uudecode
|
||||
the file into, and the output is stored in a file in the current directory
|
||||
with the name \"foo.${SUF}\".
|
||||
Options:
|
||||
-f: Normally, if the file the output would be stored in already exists,
|
||||
it is not overwritten and an error message is printed. If -f (force)
|
||||
is given, it is silently overwritten.
|
||||
-h: Print this help."
|
||||
}
|
||||
|
||||
name=${0##*/}
|
||||
Usage="Usage: $name [-hf] <filename> ..."
|
||||
typeset -i force=0
|
||||
|
||||
SUF=uu
|
||||
|
||||
while getopts :hf opt; do
|
||||
case $opt in
|
||||
h) phelp; exit 0;;
|
||||
f) force=1;;
|
||||
+?) echo "$name: options should not be preceded by a '+'." 1>&2 ; exit 2;;
|
||||
?) echo "$name: $OPTARG: bad option. Use -h for help." 1>&2 ; exit 2;;
|
||||
esac
|
||||
done
|
||||
|
||||
# remove args that were options
|
||||
shift $((OPTIND - 1))
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "$Usage\nUse -h for help." 1>&2
|
||||
exit
|
||||
fi
|
||||
|
||||
for file; do
|
||||
tail=${file##*/}
|
||||
out="$tail.${SUF}"
|
||||
if isfalse $force && [ -a "$out" ]; then
|
||||
echo "$name: $out: file exists. Use -f to overwrite." 1>&2
|
||||
else
|
||||
uuencode $file $tail > $out
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user