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?


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.


Dies ist ein subtiler Unterschied, der jedoch beim Aufrufen von Befehlen wichtig ist. Vielen Dank!
Tenken
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.