24 lines
528 B
Plaintext
24 lines
528 B
Plaintext
|
#!/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"
|
||
|
test -n "$VISUAL" && $VISUAL "$fullpath"
|
||
|
if command -v vi 1>/dev/null; then
|
||
|
vi "$fullpath"
|
||
|
else
|
||
|
error "No editor program found (set \$EDITOR or \$VISUAL, or install \`vi\`)"
|
||
|
fi
|