#!/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