diff --git a/cli-setup.cabal b/cli-setup.cabal
--- a/cli-setup.cabal
+++ b/cli-setup.cabal
@@ -1,5 +1,5 @@
 name:                cli-setup
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            Helper setup scripts for packaging command-line tools.
 description:         Provides functions to set up manpages and shell completions. Intended to be used in the @Setup.hs@ module.
 homepage:            https://github.com/vmchale/cli-setup#readme
@@ -27,6 +27,7 @@
   build-depends:       base >= 4.8 && < 5
                      , directory
                      , process >= 1.4.0.0
+                     , bytestring
   default-language:    Haskell2010
   if flag(development)
     ghc-options:       -Werror
diff --git a/src/Distribution/CommandLine.hs b/src/Distribution/CommandLine.hs
--- a/src/Distribution/CommandLine.hs
+++ b/src/Distribution/CommandLine.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE BangPatterns #-}
-
 module Distribution.CommandLine
     ( writeManpages
     , writeBashCompletions
@@ -18,7 +16,7 @@
         Just x -> do
             let bashRc = x ++ "/.bashrc"
             config <- readFile bashRc
-            unless ("#manpath updated by cli-setup" `elem` lines config)
+            unless ("#manpath updated by cli-setup" `elem` lines config && length config > 0)
                 (appendFile bashRc "\n#manpath updated by cli-setup\nexport MANPATH=~/.local/share:$MANPATH\n" >>
                  void (readCreateProcessWithExitCode (shell $ "MANPATH=" ++ x ++ "/.local/share mandb") ""))
         Nothing -> pure ()
@@ -37,7 +35,7 @@
 
 writeBashCompletions :: String -- ^ Executable name
                      -> IO ()
-writeBashCompletions !exeName = do
+writeBashCompletions exeName = do
     home <- lookupEnv "HOME"
     case home of
         Just x -> do
