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

Unterschied zwischen „Funktion Foo() {}“ und „foo() {}“?

Ich kann bash definieren Funktionen, die function verwenden oder weglassen Stichwort. Gibt es einen Unterschied?

#!/bin/bash

function foo() {
  echo "foo"
}

bar() {
  echo "bar"
}

foo

bar

Beide Aufrufe von Funktionen foo und bar erfolgreich und ich kann keinen Unterschied feststellen. Ich frage mich also, ob es nur der Verbesserung der Lesbarkeit dient, oder ob mir etwas fehlt…

Übrigens in anderen Shells wie dash (/bin/sh ist symbolisch mit dash verknüpft in debian/ubuntu) schlägt es fehl, wenn die function verwendet wird Schlüsselwort.

Akzeptierte Antwort:

Es gibt AFAIK keinen Unterschied, außer der Tatsache, dass die zweite Version portabler ist.


Linux
  1. Unterschied zwischen Login-Shell und Nicht-Login-Shell?

  2. Unterschied zwischen 2>&-, 2>/dev/null, |&, &>/dev/null und>/dev/null 2>&1?

  3. Unterschied zwischen Eot und Eof?

  4. Unterschied zwischen [0-9], [[:digit:]] und D?

  5. Unterschied zwischen Blockgröße und Clustergröße?

Unterschied zwischen apt und apt-get erklärt

Unterschied zwischen CLOCK_REALTIME und CLOCK_MONOTONIC?

Unterschied zwischen GNUWin32 und Cygwin

unterschied zwischen netstat und ss unter linux?

Unterschied zwischen ${} und $() in Bash

Unterschied zwischen Cgroups und Namespaces