Warum drush "Ja annehmen" -y Option funktioniert bei einigen Befehlen nicht

7

Drush verfügt über eine globale Option -y(oder --yes), mit der Sie nicht ywährend der Ausführung eines bestimmten Befehls auf jeder Eingabeaufforderung tippen können. (Es gibt auch -noder eine --noOption, für die auch Folgendes gilt.)

Dies funktioniert perfekt, wenn Sie Folgendes ausführen:

drush en i18n -y

Das Propblem entsteht zum Beispiel, wenn Sie versuchen, rsyncauf diese Weise zu rennen :

drush rsync @staging:sites/all/themes @production:sites/all/themes -y

Drush bekommt einfach nicht die -yOption und fordert Sie zur Bestätigung auf.

Was ist das und wie kann man die -yOption nutzen?

НЛО
quelle
1
Ich würde gerne Downvoting-Argumente hören, weil ich beim Erstellen von Skripten auf dieses [nicht so offensichtliche] Verhalten stoße, und es war nervig genug.
7.

Antworten:

17

Die Lösung besteht darin, alle globalen Optionen wie -yoder -nvor dem Drush-Befehl zu übergeben:

drush -y rsync @staging:sites/all/themes @production:sites/all/themes

Auf diese Weise können Sie Optionen an einen Shell-Befehl übergeben, der mit drush ausgeführt wird, ohne in Konflikt mit drush-Optionen zu geraten:

drush [global options] command [command options]

Dies wird [global options]an drushund [command options]an eine Shell weitergegeben command.

Machen Sie es sich zur Gewohnheit -y, direkt nach der Eingabe andere globale Optionen zu übergeben drush.

Führen Sie diese aus drush topic docs-strict-options, um Hilfe zu diesem Fall zu erhalten.

НЛО
quelle
Dies ist ein subtiler Unterschied, der jedoch beim Aufrufen von Befehlen wichtig ist. Vielen Dank!
Tenken