From 607527f2d20e40dea83a1fc6ead4ad37467c0f4c Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Fri, 29 Mar 2019 17:17:40 +1300 Subject: Fix up a few cosmetic shell anti-patterns --- ksh/kshrc | 3 ++- ksh/kshrc.d/prompt.ksh | 7 ++++--- sh/shrc.d/ls.sh | 2 +- zsh/zprofile | 4 +++- zsh/zshrc | 4 +++- zsh/zshrc.d/prompt.zsh | 7 ++++--- 6 files changed, 17 insertions(+), 10 deletions(-) diff --git a/ksh/kshrc b/ksh/kshrc index 1aea4b9d..26e0270c 100644 --- a/ksh/kshrc +++ b/ksh/kshrc @@ -21,6 +21,7 @@ HISTFILE=$HOME/.ksh_history # Load any supplementary scripts for ksh in "$HOME"/.kshrc.d/*.ksh ; do - [[ -e $ksh ]] && . "$ksh" + [[ -e $ksh ]] || continue + . "$ksh" done unset -v ksh diff --git a/ksh/kshrc.d/prompt.ksh b/ksh/kshrc.d/prompt.ksh index 99e6238d..64e22e8e 100644 --- a/ksh/kshrc.d/prompt.ksh +++ b/ksh/kshrc.d/prompt.ksh @@ -14,7 +14,7 @@ function prompt { on) # Basic prompt shape depends on whether we're in SSH or not PS1= - if [[ -n $SSH_CLIENT ]] || [[ -n $SSH_CONNECTION ]] ; then + if [[ -n $SSH_CLIENT || -n $SSH_CONNECTION ]] ; then PS1=$PS1'${HOSTNAME%%.*}:' fi @@ -176,8 +176,9 @@ function prompt { fi # There are some untracked and unignored files - if git ls-files --directory --error-unmatch --exclude-standard \ - --no-empty-directory --others -- ':/*' ; then + if git ls-files --directory --error-unmatch \ + --exclude-standard --no-empty-directory \ + --others -- ':/*' ; then state=${state}'?' fi diff --git a/sh/shrc.d/ls.sh b/sh/shrc.d/ls.sh index 1083dfca..203a734f 100644 --- a/sh/shrc.d/ls.sh +++ b/sh/shrc.d/ls.sh @@ -28,7 +28,7 @@ ls() { fi ## Add --color if the terminal has at least 8 colors if [ -e "$HOME"/.cache/sh/opt/ls/color ] && - [ "$(exec 2>/dev/null;tput colors||tput Co||echo 0)" -ge 8 ] ; then + [ "$(exec 2>/dev/null;tput colors||tput Co||echo 0)" -ge 8 ] ; then set -- --color=auto "$@" fi ## Add --time-style='+%Y-%m-%d %H:%M:%S' to show the date in my preferred diff --git a/zsh/zprofile b/zsh/zprofile index 65586fe2..614672ba 100644 --- a/zsh/zprofile +++ b/zsh/zprofile @@ -1,2 +1,4 @@ # Source ~/.profile, since Zsh doesn't do this by default -[[ -e $HOME/.profile ]] && source "$HOME"/.profile +if [[ -e $HOME/.profile ]] ; then + source "$HOME"/.profile +fi diff --git a/zsh/zshrc b/zsh/zshrc index 25d90ead..0aac527e 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -5,7 +5,9 @@ unalias -a >/dev/null 2>&1 # If ENV is set, source it to get all the POSIX-compatible interactive stuff -[[ -n $ENV ]] && source "$ENV" +if [[ -n $ENV ]] ; then + source "$ENV" +fi # Emacs keybindings even if EDITOR is vi(1) bindkey -e diff --git a/zsh/zshrc.d/prompt.zsh b/zsh/zshrc.d/prompt.zsh index 689866e3..980d8669 100644 --- a/zsh/zshrc.d/prompt.zsh +++ b/zsh/zshrc.d/prompt.zsh @@ -10,7 +10,7 @@ prompt() { # Basic prompt shape depends on whether we're in SSH or not PS1= - if [[ -n $SSH_CLIENT ]] || [[ -n $SSH_CONNECTION ]] ; then + if [[ -n $SSH_CLIENT || -n $SSH_CONNECTION ]] ; then PS1=$PS1'%m:' fi PS1=$PS1'%~' @@ -121,8 +121,9 @@ prompt() { fi # There are some untracked and unignored files - if git ls-files --directory --error-unmatch --exclude-standard \ - --no-empty-directory --others -- ':/*' ; then + if git ls-files --directory --error-unmatch \ + --exclude-standard --no-empty-directory \ + --others -- ':/*' ; then state=${state}'?' fi -- cgit v1.2.3