bin/newscript
2009-11-10 23:12:38 -08:00

57 lines
1.1 KiB
Bash
Executable file

#!/bin/sh
[[ $# -lt 1 ]] && exit 1
SCRIPT_DIR=${HOME}/bin
TYPE=$1
case "$TYPE" in
-bash)
TYPE=".bash"
SHEBANG="#!/bin/bash"
shift
;;
-pl)
TYPE=".pl"
SHEBANG="#!/usr/bin/perl -w\nuse strict;"
shift
;;
-py)
TYPE=".py"
SHEBANG="#!/usr/bin/python"
shift
;;
-sh)
TYPE=".sh"
SHEBANG="#!/bin/sh"
shift
;;
-zsh)
TYPE=".zsh"
SHEBANG="#!/bin/zsh"
shift
;;
*)
TYPE=""
;;
esac
while [[ -n ${1} ]] ; do
SCRIPT=${SCRIPT_DIR}/${1}${TYPE}
if [[ -n ${TYPE} ]] && [[ ! -e ${SCRIPT} ]]; then
echo -e "${SHEBANG}" > ${SCRIPT}
chmod +x ${SCRIPT}
elif [[ ! -e ${SCRIPT} ]]; then
touch ${SCRIPT}
chmod +x ${SCRIPT}
elif [[ -w ${SCRIPT} ]] ; then
echo "Script ${SCRIPT} already exists, opening to edit anyways." >&2
else
echo "Script ${SCRIPT} is not writable, ignoring." >&2
SCRIPT=""
fi
SCRIPTS="${SCRIPTS} ${SCRIPT}"
shift
done
${EDITOR} ${SCRIPTS}