diff --git a/utils/build-galaxy-release.sh b/utils/build-galaxy-release.sh
index 04cb2692bf09528bc8ca87ac9da53eb4c77be45e..87d2136abc4a42770d29d9875e7b99ebda9c9ccf 100755
--- a/utils/build-galaxy-release.sh
+++ b/utils/build-galaxy-release.sh
@@ -5,7 +5,6 @@ collection="${2-ansible_freeipa}"
 collection_prefix="${namespace}.${collection}"
 
 galaxy_version=$(git describe --tags | sed -e "s/^v//")
-echo $galaxy_version | grep "-" -q || galaxy_version="${galaxy_version}"
 sed -i -e "s/version: .*/version: \"$galaxy_version\"/" galaxy.yml
 sed -i -e "s/namespace: .*/namespace: \"$namespace\"/" galaxy.yml
 sed -i -e "s/name: .*/name: \"$collection\"/" galaxy.yml
diff --git a/utils/build-srpm.sh b/utils/build-srpm.sh
index 60d3a2318b34fa2598fa20dfeebbcc92c381ce0b..cb9c1361a8b337c54a1c9d016cafd16d535be03c 100755
--- a/utils/build-srpm.sh
+++ b/utils/build-srpm.sh
@@ -6,10 +6,10 @@ release=${git_version#*-}
 release=${release//-/_}
 
 date=$(date "+%a %b %e %Y")
-topdir=$(dirname $0)
+topdir=$(dirname "$0")
 
-sed -e "s/@@VERSION@@/$version/g" -e "s/@@RELEASE@@/$release/g" -e "s/@@DATE@@/$date/g" $topdir/ansible-freeipa.spec.in > ansible-freeipa.spec
+sed -e "s/@@VERSION@@/$version/g" -e "s/@@RELEASE@@/$release/g" -e "s/@@DATE@@/$date/g" "$topdir/ansible-freeipa.spec.in" > ansible-freeipa.spec
 
-git archive --format=tar --prefix=ansible-freeipa-${version}-${release}/ 'HEAD' | bzip2 -c > ansible-freeipa-${version}-${release}.tar.bz2
+git archive --format=tar --prefix="ansible-freeipa-${version}-${release}/" 'HEAD' | bzip2 -c > "ansible-freeipa-${version}-${release}.tar.bz2"
 
 rpmbuild --define "_sourcedir $PWD" -bs ansible-freeipa.spec
diff --git a/utils/gen_modules_docs.sh b/utils/gen_modules_docs.sh
index f51dbe9371ce91bf2c8113f9800517a806570310..302e82ab2c8da8905df0e35c247c24e3d5a85561 100644
--- a/utils/gen_modules_docs.sh
+++ b/utils/gen_modules_docs.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
 
 for i in roles/ipa*/*/*.py; do
-    python utils/gen_module_docs.py $i
+    python utils/gen_module_docs.py "$i"
 done
diff --git a/utils/lint_check.sh b/utils/lint_check.sh
index 27060b272c4a99315f8d041a178b168b2f062455..c84a75b5b957e9b3bd5da451ad47087b7d70fbfe 100755
--- a/utils/lint_check.sh
+++ b/utils/lint_check.sh
@@ -4,14 +4,16 @@ INFO="\033[37;1m"
 WARN="\033[33;1m"
 RST="\033[0m"
 
-pushd "`dirname $0`/.." >/dev/null 2>&1
+topdir=$(dirname "$0")
+
+pushd "${topdir}/.." >/dev/null 2>&1  || exit 1
 
 echo -e "${INFO}Running 'flake8'...${RST}"
-flake8 plugins utils roles *.py
+flake8 plugins utils roles setup.py
 echo -e "${INFO}Running 'pydocstyle'...${RST}"
-pydocstyle plugins utils roles *.py
+pydocstyle plugins utils roles setup.py
 echo -e "${INFO}Running 'pylint'...${RST}"
-pylint plugins *.py
+pylint plugins setup.py
 
 ANSIBLE_LIBRARY="${ANSIBLE_LIBRARY:-plugins/modules}"
 ANSIBLE_MODULE_UTILS="${ANSIBLE_MODULE_UTILS:-plugins/module_utils}"
@@ -27,7 +29,7 @@ playbook_dirs=(
 ansible-lint --force-color "${playbook_dirs[@]}"
 
 echo -e "${INFO}Running 'ansible-doc-test'...${RST}"
-python "`dirname $0`/ansible-doc-test" -v roles plugins
+python "${topdir}/ansible-doc-test" -v roles plugins
 
 echo -e "${INFO}Running 'yamllint'...${RST}"
 yaml_dirs=(
@@ -38,4 +40,4 @@ yaml_dirs=(
 )
 yamllint -f colored "${yaml_dirs[@]}"
 
-popd >/dev/null 2>&1
+popd >/dev/null 2>&1 || exit 1
diff --git a/utils/new_module b/utils/new_module
index 882a9677f65ba02bd5e2e06b8bcd8bd0cc249da6..ece1b4d7b99ee42db556472b7222c8fca2d8f64b 100755
--- a/utils/new_module
+++ b/utils/new_module
@@ -21,8 +21,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-prog=`basename $0`
-topdir=$(dirname $0)
+prog="$(basename "$0")"
+topdir="$(dirname "$0")"
 
 function usage() {
     cat <<EOF
@@ -136,51 +136,51 @@ fi
 # TEMPLATE function
 
 function template() {
-    s=$1
-    d=$2
+    s="$1"
+    d="$2"
     sed -e "s/\$name/$name/g" \
         -e "s/\${name}/${name}/g" \
         -e "s/\${name^}/${name^}/g" \
         -e "s/\$author/$author/g" \
         -e "s/\$email/$email/" \
         -e "s/\$year/$year/" \
-        $topdir/templates/$s > $d
+        "$topdir/templates/$s" > "$d"
 }
 
 # MODULE
 
 dest=plugins/modules
-mkdir -p $dest
+mkdir -p "$dest"
 
 src=ipamodule.py.in
-[ $member == 1 ] && src=ipamodule+member.py.in
-template $src $dest/ipa$name.py
+[ "$member" == "1" ] && src=ipamodule+member.py.in
+template "$src" "$dest/ipa$name.py"
 
 # README
 
 src=README-module.md.in
-[ $member == 1 ] && src=README-module+member.md.in
-template $src README-$name.md
+[ "$member" == "1" ] && src=README-module+member.md.in
+template "$src" "README-$name.md"
 
 # PLAYBOOKS
 
-dest=playbooks/$name
-mkdir -p $dest
+dest="playbooks/$name"
+mkdir -p "$dest"
 
-template module-present.yml.in $dest/$name-present.yml
-template module-absent.yml.in $dest/$name-absent.yml
+template module-present.yml.in "$dest/$name-present.yml"
+template module-absent.yml.in "$dest/$name-absent.yml"
 
-if [ $member == 1 ]; then
-    template module-member-present.yml.in $dest/$name-member-present.yml
-    template module-member-absent.yml.in $dest/$name-member-absent.yml
+if [ "$member" == "1" ]; then
+    template module-member-present.yml.in "$dest/$name-member-present.yml"
+    template module-member-absent.yml.in "$dest/$name-member-absent.yml"
 fi
 
 # TESTS
 
-dest=tests/$name
-mkdir -p $dest
+dest="tests/$name"
+mkdir -p "$dest"
 
 src=test_module.yml.in
-[ $member == 1 ] && src=test_module+member.yml.in
-template $src $dest/test_$name.yml
-template test_module_client_context.yml.in $dest/test_${name}_client_context.yml
+[ "$member" == "1" ] && src=test_module+member.yml.in
+template "$src" "$dest/test_$name.yml"
+template test_module_client_context.yml.in "$dest/test_${name}_client_context.yml"