Skip to content

Instantly share code, notes, and snippets.

@lazerl0rd
Created October 9, 2023 23:00
Show Gist options
  • Save lazerl0rd/4b6608184b894399886355e18369e0da to your computer and use it in GitHub Desktop.
Save lazerl0rd/4b6608184b894399886355e18369e0da to your computer and use it in GitHub Desktop.
#! /usr/bin/env bash
# shellcheck disable=SC2086
readarray -t bashismUsers < <(IFS=:; grep -Irl -e '#!/bin/sh' -e '#! /bin/sh' -e '#!/usr/bin/env sh' -e '#! /usr/bin/env sh' $PATH | xargs -r checkbashisms 2>&1 | grep "possible bashism" 2>&1 | sed 's/^possible bashism in //g' | sed 's/ line.*$//g')
for i in "${bashismUsers[@]}"; do
echo "Modifying \"$i\" in-place to use Bash directly..."
sed -i 's/#!\/bin\/sh/#!\/bin\/bash/g' $i
sed -i 's/#! \/bin\/sh/#! \/bin\/bash/g' $i
sed -i 's/#!\/usr\/bin\/env sh/#!\/usr\/bin\/env bash/g' $i
sed -i 's/#! \/usr\/bin\/env sh/#! \/usr\/bin\/env bash/g' $i
done
ln -sfT "dash" "/usr/bin/sh"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment