99# Version: v4.3.0-SNAPSHOT
1010# ###### Description #############
1111#
12- # function which searches for *.sh files within defined paths (directories or a single *.sh) and
13- # runs shellcheck on each file with predefined settings i.a. sets `-s bash`
12+ # installs shellcheck v0.10.0 into $HOME/.local/lib
1413#
1514# ###### Usage ###################
1615#
@@ -35,12 +34,25 @@ declare currentDir
3534currentDir=$( pwd)
3635tmpDir=$( mktemp -d -t download-shellcheck-XXXXXXXXXX)
3736cd " $tmpDir "
38- echo " 6c881ab0698e4e6ea235245f22832860544f17ba386442fe7e9d629f8cbedf87 ./shellcheck-v0.10.0.linux.x86_64.tar.xz" > shellcheck-v0.10.0.linux.x86_64.tar.xz.sha256
39- wget --no-verbose https://github.com/koalaman/shellcheck/releases/download/v0.10.0/shellcheck-v0.10.0.linux.x86_64.tar.xz
40- sha256sum -c shellcheck-v0.10.0.linux.x86_64.tar.xz.sha256
41- tar -xf ./shellcheck-v0.10.0.linux.x86_64.tar.xz
42- chmod +x ./shellcheck-v0.10.0/shellcheck
37+ shellcheckVersion=" v0.10.0"
38+ echo " 6c881ab0698e4e6ea235245f22832860544f17ba386442fe7e9d629f8cbedf87 ./shellcheck-$shellcheckVersion .linux.x86_64.tar.xz" > " shellcheck-$shellcheckVersion .linux.x86_64.tar.xz.sha256"
39+ wget --no-verbose " https://github.com/koalaman/shellcheck/releases/download/$shellcheckVersion /shellcheck-$shellcheckVersion .linux.x86_64.tar.xz"
40+ sha256sum -c " shellcheck-$shellcheckVersion .linux.x86_64.tar.xz.sha256"
41+ tar -xf " ./shellcheck-$shellcheckVersion .linux.x86_64.tar.xz"
42+ chmod +x " ./shellcheck-$shellcheckVersion /shellcheck"
4343mkdir -p " $HOME /.local/bin"
44- ln -s " $tmpDir /shellcheck-v0.10.0/shellcheck" " $HOME /.local/bin/shellcheck"
44+ shellcheckInTmp=" $tmpDir /shellcheck-$shellcheckVersion "
45+ shellcheckInHomeLocalLib=" $HOME /.local/lib/shellcheck-$shellcheckVersion "
46+ shellcheckBin=" $HOME /.local/bin/shellcheck"
47+ if [[ -d " $shellcheckInHomeLocalLib " ]]; then
48+ echo " going to remove the existing installation in $shellcheckInHomeLocalLib "
49+ rm -r " $shellcheckInHomeLocalLib "
50+ fi
51+ mv " $shellcheckInTmp " " $shellcheckInHomeLocalLib "
52+ if [[ -f " $shellcheckBin " ]]; then
53+ rm " $shellcheckBin "
54+ fi
55+ ln -s " $shellcheckInHomeLocalLib /shellcheck" " $shellcheckBin "
56+
4557cd " $currentDir "
4658shellcheck --version
0 commit comments