What does ‘set -e’ do, and why might it be considered dangerous?
It would be dangerous to use “set -e” when creating init.d scripts:
Be careful of using set -e in init.d scripts. Writing correct init.d scripts requires accepting various error exit statuses when daemons are already running or already stopped without aborting the init.d script, and common init.d function libraries are not safe to call with set -e in effect. For init.d scripts, it’s often easier to not use set -e and instead check the result of each command separately.