(1 Antwort)
Vor 4 Jahren geschlossen.
Ich habe das am Ende eines tollen Shell-Skripts gesehen, aber ich kann das Login hier nicht verstehen, weil ich denke, dass es für einen längeren Befehl unterbesetzt ist.
spark ${@:-`cat`}
Dies erscheint am Ende dieses Skripts. Irgendwelche Ideen?
+ Markiert für jemanden, der es zu einem vollständigen Codesegment erweitert, auch wenn es langsamer ist (besser zur Erklärung)
Akzeptierte Antwort:
Es ist der erste Sonderfall der Parameterersetzung in man bash
:
${parameter:-word}
Standardwerte verwenden. Wenn parameter
ist nicht gesetzt oder null, die Erweiterung von word
wird ausgewechselt. Andernfalls der Wert von parameter
ersetzt wird.
In dem von Ihnen erwähnten Fall hat der Benutzer entweder Argumente auf der Befehlszeile angegeben und sie werden verwendet, oder der Benutzer wird aufgefordert, sie anschließend über die Standardeingabe einzugeben.