Previously, the variables $EDITOR, $PAGER, $TERMINAL and $VISUAL got
shell-expanded twice before executing them.
# mechanism to find the preferred editor
# Hopefully one of these is installed (no flamewars about preference please!):
-for editor in $VISUAL $EDITOR nano vim vi emacs pico qe mg jed gedit mc-edit; do
- if command -v $editor > /dev/null 2>&1; then
- exec $editor "$@"
+for editor in "$VISUAL" "$EDITOR" nano vim vi emacs pico qe mg jed gedit mc-edit; do
+ if command -v "$editor" > /dev/null 2>&1; then
+ exec "$editor" "$@"
fi
done
# Hopefully one of these is installed (no flamewars about preference please!):
# We don't use 'more' because it will exit if the file is too short.
# Worst case scenario we'll open the file in your editor.
-for pager in $PAGER less most w3m pg i3-sensible-editor; do
- if command -v $pager > /dev/null 2>&1; then
- exec $pager "$@"
+for pager in "$PAGER" less most w3m pg i3-sensible-editor; do
+ if command -v "$pager" > /dev/null 2>&1; then
+ exec "$pager" "$@"
fi
done
# We welcome patches that add distribution-specific mechanisms to find the
# preferred terminal emulator. On Debian, there is the x-terminal-emulator
# symlink for example.
-for terminal in $TERMINAL x-terminal-emulator urxvt rxvt terminator Eterm aterm xterm gnome-terminal roxterm xfce4-terminal termite lxterminal mate-terminal terminology; do
- if command -v $terminal > /dev/null 2>&1; then
- exec $terminal "$@"
+for terminal in "$TERMINAL" x-terminal-emulator urxvt rxvt terminator Eterm aterm xterm gnome-terminal roxterm xfce4-terminal termite lxterminal mate-terminal terminology; do
+ if command -v "$terminal" > /dev/null 2>&1; then
+ exec "$terminal" "$@"
fi
done