#!/bin/sh is interpreted inconsistently across platforms. In the rpm world it most often maps to /bin/bash. In the Debian universe it maps to /bin/dash. Bash and dash have subtle differences that have bitten me often enough to cause me now to use precise shebangs (#!/bin/bash or #!/bin/dash) and to suffix my files with either .bsh or .dsh. At present emacs' interpreter-mode-alist knows nothing about dash and its auto-mode-alist is ignorant of both the .bsh and .dsh suffixes. For interpreter-mode-alist I suggest adding the follow entry: ("dash" . sh-mode) For auto-mode-alist I suggest changing the follow entry: ("\\.[ck]?sh\\'\\|\\.shar\\'\\|/\\.z?profile\\'" . sh-mode) to ("\\.[bcdk]?sh\\'\\|\\.shar\\'\\|/\\.z?profile\\'" . sh-mode) /john