Ich sehe oft Befehle, die den Wert eines optionalen Parameters mit = und manchmal mit einem einfachen Leerzeichen festlegen. Wie heißt das?
Beispiel für beide Befehle, die funktionieren:
firewall-cmd --permanent --add-service=http
Und
firewall-cmd --permanent --add-service http
Was ist der Unterschied zwischen der Verwendung des Gleichheitszeichens und nicht?
Antwort1
Ich weiß nicht, ob es dafür einen offiziellen Namen gibt. Normalerweise nenne ich es --foo=bar
"explizit" und --foo bar
"implizit", denn im letzteren Fall müsste man wissen, wie es implementiert ist, um zu sagen, ob es "setze dieZeichenfolgenoption foo
auf 'Bar'" oder "Setzen Sie dieBoolesche Option foo
und true
übergeben Sie dieStreit'Bar'".
Gemäß dem sehr sinnvollen Python-Sprichwort „explizit ist besser als implizit“ bevorzuge ich immer --foo=bar
.