GNU/Linux >> Znalost Linux >  >> Linux

Rozdíl mezi „funkcí Foo() {}“ a „foo() {}“?

Mohu definovat bash funkce pomocí nebo vynechání function klíčové slovo. Je v tom nějaký rozdíl?

#!/bin/bash

function foo() {
  echo "foo"
}

bar() {
  echo "bar"
}

foo

bar

Obě volání funkcí foo a bar daří a nevidím žádný rozdíl. Zajímalo by mě tedy, jestli je to jen pro zlepšení čitelnosti, nebo je tu něco, co mi chybí…

BTW v jiných shellech jako dash (/bin/sh je symbolicky propojen s dash v debian/ubuntu) selže při použití function klíčové slovo.

Přijatá odpověď:

Není v tom žádný rozdíl AFAIK, kromě skutečnosti, že druhá verze je přenosnější.


Linux
  1. Rozdíl mezi přihlašovacím prostředím a nepřihlašovacím prostředím?

  2. Rozdíl mezi potrubím a rozšířením příkazů?

  3. Rozdíl mezi uživatelem Sudo a uživatelem root?

  1. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  2. Rozdíl mezi 2>&-, 2>/dev/null, |&, &>/dev/null A>/dev/null 2>&1?

  3. Rozdíl mezi GNUWin32 a cygwin

  1. Jaký je rozdíl mezi Sudo Su – a Sudo Su –?

  2. Rozdíl mezi Eot a Eof?

  3. Rozdíl mezi [0-9], [[:digit:]] a D?