Ich schreibe einige Bash-Code in Schluck, die mehrere Add-Ons/Erweiterungen für verschiedene Browser, inspiriert von dem ublockorigin-Projekt auf GitHub produziert.Ausführen eines Befehls mit Argumenten in Schluck
Für Firefox gibt es eine Zeile, die ein Python-Skript ausführen soll, das ein Zielverzeichnis als Argument verwendet. In Schluck fällt es mir schwer, dieses Python-Skript auszuführen.
Ich versuchte gulp-run
, gulp-shell
, child_process
, aber keiner von ihnen gibt mir die richtige Ausgabe.
Wenn ich python ./tools/make-firefox-meta.py ../firefox_debug/
von der Befehlszeile ausführen bekomme ich mein gewünschtes Ergebnis und das firefox_debug
Verzeichnis wird erstellt.
Hier ist mein Code für gulp-run
:
gulp.task("python-bsff", function(){
return run("python ./tools/make-firefox-meta.py ../firefox_debug/").exec();
});
Dies wird mir diese ohne tatsächlich etwas zu geben tun:
$ gulp python-bsff
[14:15:53] Using gulpfile ~\dev\gulpfile.js
[14:15:53] Starting 'python-bsff'...
[14:15:54] Finished 'python-bsff' after 629 ms
$ python ./tools/make-firefox-meta.py ../firefox_debug/
Hier ist mein Code für gulp-shell
:
gulp.task("python-bsff", function(){
return shell.task(["./tools/make-firefox-meta.py ../firefox_debug/""]);
});
Diese gibt mir das ohne das eigentliche Ergebnis:
$ gulp python-bsff
[14:18:54] Using gulpfile ~\dev\gulpfile.js
[14:18:54] Starting 'python-bsff'...
[14:18:54] Finished 'python-bsff' after 168 μs
Hier ist mein Code für child_process
: dies war die vielversprechendste, da ich eine Ausgabe von Python auf der Kommandozeile sah.
gulp.task("python-bsff", function(){
var spawn = process.spawn;
console.info('Starting python');
var PIPE = {stdio: 'inherit'};
spawn('python', ["./tools/make-firefox-meta.py `../firefox_debug/`"], PIPE);
});
Es mir diese Ausgabe ist zu geben:
[14:08:59] Using gulpfile ~\dev\gulpfile.js
[14:08:59] Starting 'python-bsff'...
Starting python
[14:08:59] Finished 'python-bsff' after 172 ms
python: can't open file './tools/make-firefox-meta.py ../firefox_debug/`': [Errno 2] No such file or directory
Kann mir jemand bitte sagen, welche Änderung sollte ich es machen tun arbeiten?
Sound besser als vorher. Der Schluck ist nach 13 ms 'python-bsff' beendet, aber die Änderungen, die sie durchführen sollen, sind nicht da. Anything Directory Adressierung kann dazu führen, dass? –
Es endet nach 13ms, weil Sie keine asynchrone Beendigung signalisieren (siehe meine Bearbeitung).Versuchen Sie auch, 'python ./tools/make-firefox-meta.py ../ firefox_debug /' in der Befehlszeile auszuführen (in dem Verzeichnis, in dem sich 'gulpfile.js' befindet). Wenn es dort funktioniert, wird es von Schluck funktionieren. –
jetzt funktioniert es. Ich habe von Ihnen das Signalisieren von asyklischen Aufgaben gelernt. Vielen Dank –