#!/bin/sh
#
# Henna Pietiläinen
# Tik-76.004, Ohjelmointi II
#
# 1. Harjoitus
#
# Cmdfor-ohjelmalla voi ajaa yhden komennon kaikille annetuille tiedostoille
# yksi kerrallaan. Optiolla -n ohjelma vain tulostaa tiedostot komentoineen
# eikä suorita niitä. 



USAGE="usage: $0 [-n] cmd file(s)...
Options: -n      print commands, but do not execute them"

if [ "$1" = "-n" ] ; then              # Tutkitaan onko -n optiota.
    PREFIX="/p/gnu/bin/echo -E "       # Alustetaan PREFIX echo -E :llä.
    shift
    CMD=$1
else                                   # Ei -n optiota.
    CMD=$1                             # Komento talteen CMD-muuttujaan.
    PREFIX=""                          # Alustetaan PREFIX tyhjäksi.
    if test -x $CMD ; then             # Tutkii onko komento olemassa.
	echo "$0: $CMD not found" >&2  
	exit 2;
    fi
fi

if [ "$2" = "" ] ; then                # Jollei anneta kuin yksi
    echo "$USAGE" >&2                  # argumentti tulostetaan
    exit 1;                            # ohjelman käyttö.
fi

shift

for i do                               # Joko tulostetaan tai suoritetaan
    $PREFIX$CMD "$i"                   # komento kullekin tiedostolle.
done

# End of file


