Я также новичок в определении функций в скриптах bash.Я использую bash версии 4.3.11 (1): - выпуск (x86_64-pc-linux-gnu) на Ubuntu 14.04 .
НадеюсьНе знаю почему, но определение, которое начинается с ключевого слова function
, никогда не работает для меня.
Определение, подобное следующему
function check_and_start {
echo Hello
}
, выдает сообщение об ошибке:
Syntax error: "}" unexpected
Если я добавлю {
в новую строку, например:
function my_function
{
echo Hello.
}
Он напечатает Hello.
при запуске сценария, даже если я вообще не вызываю эту функцию,это также то, что мы хотим.
Я не знаю, почему это не сработает, потому что я также посмотрел на многие учебные пособия, и все они поставили открытую фигурную скобку в конце первой строки.Может быть, мы используем версию bash ??В любом случае, просто поместите это здесь для вашей информации.
Я должен использовать определение функции в стиле C:
check_and_start() {
echo $1
}
check_and_start World!
check_and_start Hello,\ World!
, и оно работает как положено.