Gestern wurde drush in der Version 2.1 herausgegeben.

Neben zahlreichen Bug Fixes gibt es zwei signifikante Änderungen, die ich hier beschreiben möchte.

  1. Die Entfernung des Shebang's in drush.php.
  2. Die Einführung von Aliases.
  1. Aus der Datei drush.php wurde das Shebang, (#!/usr/bin/env php), auch als Hash-Bang oder Interpreterdeklaration bezeichnet entfernt.

    Dies hat zur Folge, dass drush.php nicht mehr als solches aufrufbar ist, es sei denn, man stellt drush.php ein php voran (php drush.php).

    Stattdessen soll der Aufruf über das Shell-Skript drush erfolgen.

    Siehe #586466

    Remove shebang from drush.php. You should use the drush scell script, or call 'php drush.php' instead.
    .

    Durch diese Änderung, habe ich die Installation von drush überdacht, diese sieht bei mir jetzt so aus:

    1. Den drush-Ordner habe ich nach /usr/local/share verschoben.
    2. In /usr/local/bin liegt Symbolische Link drush, welcher auf das Shell-Skript /usr/local/share/drush/drush zeigt. lrwxrwxrwx 1 root root 26 2009-10-25 00:03 drush -> /usr/local/src/drush/drush
  2. Die zweite signifikante Änderung, ist die Einführung von Aliases, siehe auch Issue #549494. So wurde z.B. aus dl, download mit dl als Alias und unter anderem ist cache clear ist nun über cc aufrufbar.

    Für Entwickler gestaltet sich das definieren von Aliases wie folgt:

    In hook_drush_command ist der Array Items um den Index aliases erweitert worden, diesem kann man einen Array mit Aliases hinzufügen, wie hier am Beispiel der Erweiterung von example.drush.inc zu sehen ist.

    function example_drush_command() {
      $items = array();
      $items['example'] = array(
        'callback' => 'example_callback',
        'description' => "Drush example command. It doesn't do a lot",
        'aliases' => array('ex'),
      );
    }
    Durch die Einführung der Aliase lässt sich diese Aussage nochmals untermauern:
    Drush: More Beer, Less Effort