#!/bin/sh log() { echo $@ >&2 } err() { echo $@ >&2 } fatal() { err "Giving up: $@" exit 1 } usage() { cat<<-EOT $myname cmd args EOT } run() { log "Running ==== $@" eval sudo "$@" } cmd_install() { case $ID in opensuse|suse) eval run zypper in "$@" ;; debian) eval run apt-get install "$@" ;; *) fatal "Tried to install to unsupported platform \"$ID\"" ;; esac } # -- here we go myname=`basename $0` . /etc/os-release cmd="$1" shift eval cmd_$cmd "$@"