#!/bin/bash # flour: package management with extras # by breadw declare -a to_install declare -a to_remove declare -a to_upgrade upgrade_all=false usage() { case "$1" in [0-9]*) ec="$1"; shift ;; *) ec=0 ;; esac if [ "$#" -gt 0 ]; then printf '!! flour: %s\n\n' "$*" fi sed -n '2,3s/#* *//p' "$0" echo cat <<-ENDUSAGE usage: flour COMMAND [PACKAGE...] COMMANDS: -l list packages -i PKG install PKG -r PKG remove PKG -u PKG update PKG -U update all packages ENDUSAGE exit "$ec" } main() { while getopts hli:r:u:U opt; do case "$opt" in h) usage ;; l) list && exit ;; i) ;; r) ;; u) ;; U) ;; \?) usage 2 ;; *) usage 2 ;; esac done }