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.