Разница между написанием `function Name {…; } `,` Name () {…; } `и` function Name () {…; } `в bash

Вы можете написать функции bash несколькими способами:

function JoinStrings { ...; } 

Или

 function JoinStrings () { ...; } 

Или

 JoinStrings () { ...; } 

Есть ли разница между этими функциями? Почему существуют 3 разных способа записи функции в bash? (Есть ли еще способы записи функции?)

One Solution collect form web for “Разница между написанием `function Name {…; } `,` Name () {…; } `и` function Name () {…; } `в bash”

man bash говорит:

 Shell Function Definitions A shell function is an object that is called like a simple command and exe‐ cutes a compound command with a new set of positional parameters. Shell functions are declared as follows: name () compound-command [redirection] function name [()] compound-command [redirection] This defines a function named name. The reserved word function is optional. If the function reserved word is supplied, the parentheses are optional. The body of the function is the compound command com‐ pound-command (see Compound Commands above). That command is usually a list of commands between { and }, but may be any command listed under Compound Commands above. compound-command is executed whenever name is specified as the name of a simple command. When in posix mode, name may not be the name of one of the POSIX special builtins. Any redirections (see REDIRECTION below) specified when a function is defined are performed when the function is executed. The exit status of a function definition is zero unless a syntax error occurs or a readonly function with the same name already exists. When executed, the exit status of a function is the exit status of the last command executed in the body. (See FUNCTIONS below.) 

Короче говоря, нет никакой разницы.

  • Последний сортировать по Linux
  • Переменная восклицательного знака `$!`
  • Почему `bash -c somecommand` иногда не оставляет процесс bash?
  • Отображение количества байтов, слов и строк в файле
  • Скрипт внутри оболочки bash, который находится внутри другой оболочки bash
  • Попытка отладки /etc/init.d/named, без вывода, заменить> / dev / null на /var/log/named.log?
  • Как эмулировать возвращаемые произвольные значения из функций оболочки?
  • Установка временных псевдонимов bash при входе в папку
  • Ошибка сегментации при вызове рекурсивной функции bash
  • Можете ли вы указать отдельную ловушку в подоболочке, созданной с помощью ()?
  • Разница между nohup, disown и &
  • Linux и Unix - лучшая ОС в мире.