Skip to content

Instantly share code, notes, and snippets.

@larsks
Created February 4, 2014 05:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save larsks/8798492 to your computer and use it in GitHub Desktop.
Save larsks/8798492 to your computer and use it in GitHub Desktop.
#!/bin/sh
log () {
echo "${0##*/} $(date): $1" >&2
}
die () {
log "ERROR: $1"
exit 1
}
usage () {
echo "${0##*/}: usage: ${0##*/} <stackname> <command> [args [...]]"
}
list_stacks () {
if [ $# -eq 0 ]; then
for stack in $HOME/.stack/*; do
(
. $stack
printf "%-20s %s\n" ${stack##*/} $OS_AUTH_URL
)
done
exit
fi
}
while [ "$1" ]; do
case $1 in
(--) shift
break
;;
(--list|-l)
list_stacks
exit 0
;;
(-*) die "unknown option: $1"
;;
(*) break
;;
esac
done
if [ $# -lt 2 ]; then
usage >&2
exit 2
fi
stack=$1
shift
if ! [ -f $HOME/.stack/$stack ]; then
echo "No such stack: $stack" >&2
exit 1
fi
. $HOME/.stack/$stack
exec "$@"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment