Was ist die Windows-Befehls-Shell-Entsprechung von Bashs "True" -Befehl?

8

Ich habe ein vim-Plugin geschrieben, das externe Befehle ausführt. Zwei der Befehle, die ich ausführe, sind diff und grep , die jeweils während eines "normalen" Vorgangs mit einem Exit-Code ungleich Null beendet werden können.

( diff wird mit Exitcode 1 beendet, wenn Differenzen gefunden werden, und grep wird mit Exitcode 1 beendet, wenn keine Übereinstimmungen gefunden werden.)

Für die Zwecke meines Vimscript muss ich einen Exit-Code von 0 aus diesen Befehlen zurückgeben. Bisher konstruiere ich die Befehle wie folgt:

%Vor%

Und:

%Vor%

Dies funktioniert unter OS X und scheint für einige Windows-Benutzer zu funktionieren. Wenn ich jedoch Windows 7 unter OS X über Virtualbox unter Verwendung der vom git-Installer installierten Bash benutze, erhalte ich die Fehlermeldung: 'true' is not recognized as an internal or external command, operable program or batch file.

Was ist der korrekte Befehl "Erfolgreich - Nicht-Op", der unter Windows verwendet werden soll?

    
Andy Stewart 26.02.2014, 16:04
quelle

3 Antworten

8

true entspricht in etwa (exit 0) (die Klammern erzeugen eine Subshell, die mit dem Status 0 endet, anstatt die aktuelle Shell zu verlassen.

    
chepner 27.02.2014, 14:17
quelle
2
%Vor%

funktioniert für mich. Zum Beispiel

%Vor%

gibt eine Fehlermeldung aus, setzt %ERRORLEVEL% jedoch auf 0

    
user368683 15.11.2017 23:16
quelle
1

Der Kontext ist eine Windows cmd -Shell (verwendet von git-cmd.bat script ):

Nach " Batch mit EXIT /B X beenden, wobei X>=1 so wirkt, als ob der Befehl bei Verwendung von && oder || erfolgreich ausgeführt wurde Operatoren zwischen Stapelaufrufen ", können Sie in Ihrem Pfad eine true.bat -Datei mit:

definieren %Vor%     
VonC 26.02.2014 16:13
quelle

Tags und Links