foo() any-command
Bourne benzeri herhangi bir kabuk tarafından desteklenen Bourne sözdizimi bash, ancak yashson sürümleri posh(yalnızca bileşik komutları destekleyen). (Bourne kabuğu ve AT&T uygulamaları bir bileşik komut olmadığı sürece kshdesteklemez ).foo() any-command > redirectionsany-command
foo() any-compound-command
(bileşik örnekleri komutları: { cmd; }, for i do echo "$i"; done, (cmd)... en yaygın olarak kullanılan { ...; })
Bourne benzeri herhangi bir kabuk ve genel olarak kullanmak istedikleriniz tarafından desteklenen POSIX sözdizimidir.
function foo { ...; }
Bourne sözdiziminden önce gelen Korn kabuğu sözdizimidir. Bunu sadece Korn kabuğunun AT&T uygulaması için yazıyorsanız ve orada aldığı spesifik tedaviye ihtiyaç duyuyorsanız kullanın. Bu sözdizimi POSIX değil, tarafından desteklenen bash, yashve zshKorn kabuk uyumluluk için bu kabuklar (ve olsa pdkshKorn kabuğunun tabanlı varyantları) ona standart sözdizimi herhangi bir farklı tedavi etmiyoruz.
function foo () { ...; }
sözdizimi bir kabuk ve kullanılmamalıdır . Sadece tarafından kazara desteklenecek olur bash, yash, zshve pdkshKorn kabuk tabanlı varyantları. Bu arada, aynı zamanda awkfonksiyon sözdizimi.
Ezoterik listesine girmeye devam edersek,
function foo() other-compound-command
(gibi function foo() (subshell)ya da function foo() for i do; ... done) daha da kötüdür. Bu tarafından desteklenmektedir bash, yashve zshfakat, hatta ksh değil pdkshtabanlı varyantları.
Süre:
function foo() simple command
sadece tarafından desteklenir zsh.
function baz { echo "baz"; }. GreyCat'in wiki'sinde Bashism'i görün .