Enhance help message in shell mode

- Fix bug: prevent `?' be parsed by shell glob
- Reduce output $0 when displaying usage in shell mode
- Always output return status in shell mode