blob: c85069c659dbf3695ad555d7f979d2bc0f8d93f2 (
plain) (
tree)
|
|
# Create and edit executable scripts in a directory EDSPATH (defaults to ~/.local/bin)
# Need at least one script name
if [ "$#" -eq 0 ] ; then
printf >&2 'eds: Need at least one script name\n'
exit 2
fi
# Create the script directory if it doesn't exist yet
ep=${EDSPATH:-$HOME/.local/bin}
if ! [ -d "$ep" ] ; then
mkdir -p -- "$ep" || exit
fi
# Warn if that's not in $PATH
case :$PATH: in
*:"$ep":*) ;;
*)
printf >&2 'eds: warning: %s not in PATH\n' "$ep"
;;
esac
# Prepend the path to each of the names given if they don't look like options
for arg ; do
[ -n "$reset" ] || set -- && reset=1
case $arg in
--)
optend=1
set -- "$@" "$arg"
continue
;;
-*)
if [ -z "$optend" ] ; then
set -- "$@" "$arg"
continue
fi
;;
esac
optend=1
set -- "$@" "$ep"/"$arg"
done
# Run the editor over the arguments
"${VISUAL:-"${EDITOR:-ed}"}" "$@"
# Make any created scripts executable if they now appear to be files
for script ; do
[ -f "$script" ] || continue
chmod +x -- "$script"
done
|