I'm using drush 7.x-4.5, Drupal 7.28, Apache 2.2.21, PHP 5.3.8. I have a multi-site installation, with a dozen or so sites, such as:
/path/to/drupal/sites/example1.com /path/to/drupal/sites/example2.com /path/to/drupal/sites/example3.com
Each of these is a symlink to some other location, which is not entirely uniform, e.g.:
example1.com -> /home/example1/drupal
...but another site might be:
example2.com -> /home/example2/www
If I run
drush -r /path/to/drupal site-alias, I get a correct list of sites:
example1.com example2.com example3.com
However, if I then try to do something like
drush -r /path/to-drupal @sites status, I get something unusable:
You are about to execute 'status' on all of the following targets: #drupal #www ...
So I can see it's just resolving the symlink and grabbing the last component of the path, then flattening that down to a set of unique last components of paths, which of course does not work at all.
I have tried filling out aliases with
/etc/drush/aliases.drushrc.php, and while the aliases work in the single-site context (e.g. with
$aliases['e1'] = array('root' => '/path/to/drupal', uri => 'example1.com'), the command
drush /path/to/drupal@e1 status). The list that the
@sites comes up with is unaffected.
Have I just set up this multi-site installation in an unusual way? It seems to otherwise be fine.
For what it's worth, I have a parallel Drupal 6 multi-site installation, and it has essentially the same problem.