3 ways to call shell