I've noticed this behaviour after configuring and installing the Java Service Wrapper sh script as /etc/init.d/nexus.
1) Make sure that nexus is stopped
2) As root, run "/etc/init.d/nexus status"
3) We get a message saying "Nexus OSS is not running", but the exit status is 0
4) As the nexus user, run "/etc/init.d/nexus status"
5) We get a message saying "Nexus OSS is not running" and the exit status is 1
The problem seems to be that the checkUser() function will run the status function as the correct user, but discards the exit status, using instead "exit 0" a couple of lines later. This doesn't happen if the user is correct.