#!/bin/sh set -e error() { echo "$@" 1>&2 exit 1 } test ! -d "$HOME/code/scripts" && error "No $HOME/code/scripts/ directory found" test -z "$1" && error "No script name given" test -f "$1" && error "$1 already exists" fullpath="$HOME/code/scripts/$1" touch "$fullpath" && chmod +x "$fullpath" test -n "$EDITOR" && $EDITOR "$fullpath" && exit 0 test -n "$VISUAL" && $VISUAL "$fullpath" && exit 0 if command -v vi 1>/dev/null; then vi "$fullpath" && exit 0 else error "No editor program found (set \$EDITOR or \$VISUAL, or install \`vi\`)" fi