Warum ergibt ein Backslash keinen Exit-Code ungleich Null?

Warum ergibt ein Backslash keinen Exit-Code ungleich Null?

Bei Ausführung:

 true \ false; echo $?

Ich erhalte den Exitcode 0. Weiß jemand, warum das so ist?

Antwort1

true \ false

ist äquivalent zu

true ' false'

trueDies führt dazu, dass die Shell mit false(einschließlich eines anfänglichen Leerzeichens) als Parameter ausgeführt wird . Die truevon Ihnen verwendete Implementierung ignoriert diesen Parameter und wird mit einem Rückgabewert von Null beendet.

Antwort2

Sie führen den Befehl einfach truemit einigen Argumenten aus. Da diese Argumente keine Optionen sind, spielt es keine Rolle, was sie sind.

verwandte Informationen