Executing multiple drush commands
From my personal experience, I would run these tree commands like this:
drush cc all; drush dl freds_module; drush en freds_module --yes. I use semicolons to separate my commands. You can also use the ampersand(&amp;&amp;), drush cc all &amp;&amp; drush dl freds_module &amp;&amp; drush en freds_module --yes. Here, if one command fails, the rest will not run.