Eine kurze Einführung in eine bessere Methode zum Ausführen von Windows-Befehlen wie PowerShell und cmd.exe von WSL Bash in der Windows-Linux-Befehlszeilenumgebung unter Verwendung der Bash-Sprache.
Bis jetzt habe ich es wie powershell.exe ruby -e “puts ‘OK’” gemacht,
Nun, wie Sie sich vorstellen können, erzeugt dies ziemlich viele Fehler.
Die Ursache ist, dass der Teil ruby -e “puts ‘OK’” als Bash-Skript funktioniert.
Je länger der Code nach powershell.exe ist, desto höher ist die Fehlerrate.
Zumindest mit dieser Methode gibt es keine Garantie, dass Sie dieselbe Ausgabe wie in PowerShell ausgeführter Code erhalten. Wenn Sie das Escaping vergessen, erhalten Sie Fehler, und im schlimmsten Fall könnte seltsamer Code ausgeführt werden, was ernst sein könnte.
Also, von nun an werde ich es so machen:
powershell.exe - <<'EOF'
ruby -e "puts 'OK'"
EOF