As long as we're bashing, it could easily be written loopless like so:
basename -s .jpg -a *jpg |
xargs -I{} convert "{}.jpg" \
-resize "900x" -unsharp 2x0.5+0.5+0 -quality 98 "{}_s.jpg"
EDIT: weird line breaking is to prevent sidescroll box