diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml new file mode 100644 index 000000000..a15b1bf7a --- /dev/null +++ b/.github/workflows/shellcheck.yml @@ -0,0 +1,26 @@ +--- +name: Shellcheck + +on: + push: + branches: [release] + pull_request: + branches: [release] + +permissions: + contents: read + +jobs: + shellcheck: + name: Check shell scripts + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install dependencies + run: | + sudo apt update && sudo apt install -y shellcheck + - name: shellcheck + run: | + git grep -l '^#\( *shellcheck \|!\(/bin/\|/usr/bin/env \)\(sh\|bash\|dash\|ksh\)\)' | xargs shellcheck diff --git a/gather-system-info.sh b/gather-system-info.sh index 34c9ee301..f088a3b7b 100755 --- a/gather-system-info.sh +++ b/gather-system-info.sh @@ -11,7 +11,7 @@ REPO="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" main() { - cd "${REPO}" + cd "${REPO}" || exit echo "Please include this information in your bug report on GitHub!" @@ -25,6 +25,7 @@ main() { show_distribution() { echo -n "Distribution: " if [ -f /etc/os-release ]; then + # shellcheck disable=SC1091 source /etc/os-release && echo "${NAME}" fi } diff --git a/shell.sh b/shell.sh index db1a3946f..e25500004 100755 --- a/shell.sh +++ b/shell.sh @@ -19,10 +19,10 @@ export XDG_CONFIG_HOME=$HOME/paperwm/.config args=() DISPLAY=$NEW_DISPLAY -eval $(dbus-launch --exit-with-session --sh-syntax) -echo $DBUS_SESSION_BUS_ADDRESS +eval "$(dbus-launch --exit-with-session --sh-syntax)" +echo "$DBUS_SESSION_BUS_ADDRESS" -echo -n $DBUS_SESSION_BUS_ADDRESS \ +echo -n "$DBUS_SESSION_BUS_ADDRESS" \ | DISPLAY=$old_display xclip -i -selection clipboard DISPLAY=$old_display @@ -35,7 +35,7 @@ case $1 in echo "Running X11 Gnome Shell" Xephyr $NEW_DISPLAY & DISPLAY=$NEW_DISPLAY - args=--x11 + args=(--x11) ;; esac @@ -43,5 +43,5 @@ esac dconf reset -f / # Reset settings dconf write /org/gnome/shell/enabled-extensions "['paperwm@paperwm.github.com']" -gnome-shell $args +gnome-shell "${args[@]}"