both "harm" and "nodead" presuppose "exists", so you can remove exists from that 2nd macro. :-)
Also, you can replace "target=" with "@", and combine the two lines you have in your macro.
Code:
#showtooltip
/cast [mod:shift, @mouseover, harm, nodead][mod:ctrl, @focus, harm, nodead][] Wind Shear
If SHIFT is down, casts on Mouseover. If CTRL is down, cast on Focus. Otherwise, cast following normal rules for the spell (in this case, would cast on target).
I personally, don't worry about Mouseover, and this is my macro:
Code:
#showtooltip
/cast [@focus, harm, nodead][] Wind Shear
If Focus is a hostile target and isn't dead, cast Wind Shear on it. Otherwise, follow normal casting rules for the spell.