From e7213cb7cbd3149377cf6c08dc9c3813c99743f8 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Tue, 31 Oct 2017 22:32:49 +1300 Subject: Tidy and correct linting for all three shells Reduce each one to target only the dotfiles specifically for that shell, as opposed to previously where for example the `check-sh` target was checking shell shims in for `mpd` and `plenv`. I'm still not completely sure that's the right approach, but it's at least less conceptually muddy than what we had before. Notably, the check and lint for Korn shell includes a single POSIX shell script file in its `shrc.d` subdirectory, so that check is executed separately. --- check/bash.sh | 14 ++++++++++---- check/ksh.sh | 11 +++++++---- check/sh.sh | 19 +++++++++---------- 3 files changed, 26 insertions(+), 18 deletions(-) (limited to 'check') diff --git a/check/bash.sh b/check/bash.sh index a3efccb1..1f9e1b38 100644 --- a/check/bash.sh +++ b/check/bash.sh @@ -1,5 +1,11 @@ -for bash in bash/* bash/bashrc.d/* ; do - [ -f "$bash" ] || continue - bash -n "$bash" || exit +set \ + bash/bash_completion \ + bash/bash_completion.d/*.bash \ + bash/bash_logout \ + bash/bash_profile \ + bash/bashrc \ + bash/bashrc.d/*.bash +for bash ; do + bash -n -- "$bash" || exit done -printf 'All bash(1) scripts parsed successfully.\n' +printf 'GNU Bash dotfiles parsed successfully.\n' diff --git a/check/ksh.sh b/check/ksh.sh index 51e71e19..f4bade82 100644 --- a/check/ksh.sh +++ b/check/ksh.sh @@ -1,5 +1,8 @@ -for ksh in ksh/* ksh/kshrc.d/* ; do - [ -f "$ksh" ] || continue - ksh -n "$ksh" || exit +set \ + ksh/kshrc \ + ksh/kshrc.d/*.ksh +for ksh ; do + ksh -n -- "$ksh" || exit done -printf 'All ksh scripts parsed successfully.\n' +sh -n -- ksh/shrc.d/ksh.sh || exit +printf 'Korn shell dotfiles parsed successfully.\n' diff --git a/check/sh.sh b/check/sh.sh index c5a86955..92910c11 100644 --- a/check/sh.sh +++ b/check/sh.sh @@ -1,11 +1,10 @@ -for sh in \ - sh/* sh/profile.d/* sh/shrc.d/* \ - keychain/profile.d/* keychain/shrc.d/* \ - ksh/shrc.d/* \ - mpd/profile.d/* \ - plenv/profile.d/* plenv/shrc.d/* \ -; do - [ -f "$sh" ] || continue - sh -n "$sh" || exit +set \ + sh/profile \ + sh/profile.d/*.sh \ + sh/shinit \ + sh/shrc \ + sh/shrc.d/*.sh +for sh ; do + sh -n -- "$sh" || exit done -printf 'All sh(1) scripts parsed successfully.\n' +printf 'POSIX shell dotfiles parsed successfully.\n' -- cgit v1.2.3