shell.c general error made slightly more compliant