Я использую GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu)
.
У меня есть следующие строки в одном из моих файлов запуска:
df() {
printf "Hello, world!\n"
}
При получении этого файла я получаю эту ошибку:
-bash: sh/interactive.sh: line 109: syntax error near unexpected token `('
-bash: sh/interactive.sh: line 109: `df() {'
Однако, если я изменю имя функции с df
на dir
или ef
или anything_else
, я не получу ошибку.
Я предполагаю, что df
является каким-то зарезервированным словом, но когда я проверил этот список зарезервированных слов в bash , я не смог его найти.(И я не думаю, что так оно и должно быть!)
Итак, кто-нибудь может пролить свет на это?Почему bash запрещает мне определять функцию оболочки с именем df
?