aboutsummaryrefslogtreecommitdiff
path: root/zsh
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2017-01-25 14:00:17 +1300
committerTom Ryder <tom@sanctum.geek.nz>2017-01-25 14:06:03 +1300
commit43c88db1a7b402f28567e2659a40943b2a1a54ac (patch)
tree6d15afa0d2afbb96ac6a7cdfd193e6f1bc881cc8 /zsh
parentdc0ba282b6e41c1c4b2dfba2ea362cf88a7f8c29 (diff)
downloaddotfiles-43c88db1a7b402f28567e2659a40943b2a1a54ac.tar.gz
Clear away all aliases for interactive shells
Some systems like OpenBSD or Slackware set up well-meaning aliases that I don't want. We do this for Bash, Yash, and Zsh, but not for Ksh, because it looks like its implementations all variously use aliases to implement some POSIX builtins like fc(1) or type(1) in terms of their own builtins.
Diffstat (limited to 'zsh')
-rw-r--r--zsh/zshrc5
1 files changed, 5 insertions, 0 deletions
diff --git a/zsh/zshrc b/zsh/zshrc
index a97c0a73..68f8ffc7 100644
--- a/zsh/zshrc
+++ b/zsh/zshrc
@@ -1,6 +1,11 @@
# Emacs keybindings even if EDITOR is vi(1)
bindkey -e
+# Clear away all aliases; we do this here rather than in $ENV because the ksh
+# family of shells relies on aliases to implement certain POSIX utilities like
+# fc(1) and type(1)
+unalias -a
+
# If ENV is set, source it to get all the POSIX-compatible interactive stuff
[[ -n $ENV ]] && source "$ENV"