diff --git a/.bashrc b/.bashrc
index 7afbbc091e72298215cb35476cf9c06ab68e04ce..7753bdffd17cbdb21e44f82d2244b595b7f2e650 100644
--- a/.bashrc
+++ b/.bashrc
@@ -14,8 +14,11 @@ then
     shopt -s cmdhist
     [ -f /etc/bash_completion ] && . /etc/bash_completion
 
-    # shellcheck disable=SC2086,SC1090
-    [ -d "$HOME/.bash_completion.d" ] && . $HOME/.bash_completion.d/*
+    # shellcheck disable=SC1090
+    for sourcefile in $HOME/.bash_completion.d/*
+    do
+        [ ! -f "$sourcefile" ] || . "$sourcefile"
+    done
 
     # shellcheck disable=SC1090
     # added by travis gem
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..90092a5c869c075c6f6ea1983f957baf1c72c4b5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.bash_completion.d/.pipenv
+.pre-commit/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index d9d5d59091c2bfc672365d5d6ed32125053ec950..5c1616fac5683e70dec52e30e6f1a29d29ce0b53 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -9,6 +9,6 @@
     sha: v0.5.4
     hooks:
     -   id: shell-lint
-        files: &shellscripts 'bashrc|post-merge|profile|docker-|wifi-login|renew-certs|dma-clean|gen-ssh-config|dconf-load|install-git-hooks|pocketchip-battery|update-voltage'
+        files: &shellscripts 'bashrc|post-merge|profile|docker-|wifi-login|renew-certs|dma-clean|gen-ssh-config|dconf-load|install-git-hooks|pocketchip-battery|update-voltage|pipenv'
     -   id: shellcheck
         files: *shellscripts