diff options
Diffstat (limited to 'examples/scripts.v2/uudec')
-rw-r--r-- | examples/scripts.v2/uudec | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/examples/scripts.v2/uudec b/examples/scripts.v2/uudec new file mode 100644 index 0000000..7984058 --- /dev/null +++ b/examples/scripts.v2/uudec @@ -0,0 +1,45 @@ +: +# @(#) uudec.sh 1.0 93/11/22 +# 92/08/04 john@armory.com (John H. DuBois III) +# 93/11/22 Added help. + +isfalse() +{ + test 0 -eq "$1" +} + +phelp() +{ +"$name: process uuencoded files. +Usage: uudec [-h] filename ... +Options: +-h: Print this help." +} + +name=${0##*/} + +typeset -i force=0 + +while getopts "hf" opt; do + case "$opt" in + h) phelp; exit 0;; + f) force=1;; + *) echo "$Usage" 1>&2; exit 2;; + esac +done + +shift $((OPTIND - 1)) + +for file; do + echo "$file" + while read b mode filename && [ "$b" != begin ]; do :; done < "$file" + if [ "$b" = begin ]; then + if [ -f "$filename" ] && isfalse $force; then + echo "Output file \"$filename\" exists. Not written." + else + uudecode "$file" + fi + else + echo "No begin line." + fi +done |