GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was bedeutet „:-“ in einem Shell-Skript?

Auf diese Frage gibt es hier bereits eine Antwort :Wie Variablen in geschweiften Klammern ausgewertet werden

(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.


Linux
  1. Was bedeutet kaufmännisches Und am Ende einer Shell-Skriptzeile?

  2. Was bedeutet ${1+„[email protected]“} in einem Shell-Skript und wie unterscheidet es sich von „[email protected]“?

  3. Was bedeutet [email protected] in einem Shell-Skript?

  4. Was bedeutet set -e in einem Bash-Skript?

  5. Was bedeutet, wenn [[ $? -ne 0 ]]; bedeuten in .ksh

Was bedeutet chmod 777

Was bedeutet „–“ (Doppelstrich)?

Was bedeutet es, „sh-kompatibel“ zu sein?

Was ist Shebang in Linux Shell Scripting?

Keine X11-DISPLAY-Variable - was bedeutet das?

Was macht dieses sh-Skript, wenn es ausgeführt wird?