From 2f2900213cc8157590f11dcc7988c1a3bb7dc887 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 20 Apr 2015 19:31:17 -0400 Subject: Be careful about shebangs, which shells are used, and what gets executed Use - #!/hint/bash for bash that gets sourced (non-executable) - #!/hint/sh for sh(1) that gets sourced (non-executable) - #!/bin/sh for sh(1) that gets executed - #!/usr/bin/env bash for bash that gets executed To this end, also - Clean up a couple of related comments - Fix a couple of bash-isms that I noticed in sh(1) files - Fix permissions on a couple of files that get sourced --- .config/bash/login.sh | 5 ++--- .config/bash/logout.sh | 3 ++- .config/bash/rc.d/aliases.sh | 4 +--- .config/bash/rc.d/emacs.sh | 2 +- .config/bash/rc.sh | 4 +++- 5 files changed, 9 insertions(+), 9 deletions(-) (limited to '.config/bash') diff --git a/.config/bash/login.sh b/.config/bash/login.sh index 1269a03..08f26b8 100644 --- a/.config/bash/login.sh +++ b/.config/bash/login.sh @@ -1,6 +1,5 @@ -# ~/.bash_login: executed by bash(1) when login shell starts. - -# I think this is sane default behavior +#!/hint/bash +# ~/.bash_login: Sourced by bash(1) when login shell starts # Load user settings . "$HOME/.profile" diff --git a/.config/bash/logout.sh b/.config/bash/logout.sh index 5dd8f7d..623f0a0 100644 --- a/.config/bash/logout.sh +++ b/.config/bash/logout.sh @@ -1,4 +1,5 @@ -# ~/.bash_logout: sourced by bash(1) when login shell exits. +#!/hint/bash +# ~/.bash_logout: Sourced by bash(1) when login shell exits # Clear the screen for privacy's sake. clear diff --git a/.config/bash/rc.d/aliases.sh b/.config/bash/rc.d/aliases.sh index 28b9923..6b2460e 100644 --- a/.config/bash/rc.d/aliases.sh +++ b/.config/bash/rc.d/aliases.sh @@ -1,6 +1,4 @@ -#!/bin/bash -# The above line probably should never be *used* in this file, but it -# lets text editors know that this is BASH syntax. +#!/hint/bash ###################################################################### # Set up colors and settings for ls/dir/vdir # diff --git a/.config/bash/rc.d/emacs.sh b/.config/bash/rc.d/emacs.sh index bb6454b..d8e1d80 100644 --- a/.config/bash/rc.d/emacs.sh +++ b/.config/bash/rc.d/emacs.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/hint/bash if [[ $TERM == eterm* ]]; then SELECTED_EDITOR='emacsclient' diff --git a/.config/bash/rc.sh b/.config/bash/rc.sh index ae55d5c..70f1ce4 100644 --- a/.config/bash/rc.sh +++ b/.config/bash/rc.sh @@ -1,4 +1,6 @@ -# ~/.bashrc: executed by bash(1) for interactive non-login shells. +#!/hint/bash +# ~/.bashrc: Sourced by bash(1) for interactive non-login shells +# # I include this file for all interactive invocations of bash(1), whether # they are login shells or not. -- cgit v1.2.3