Извините за такой невинный вопрос - я просто попытаюсь взять на себя...
Например - у меня:
$ cat test.sh
#!/bin/bash
declare -f testfunct
testfunct () {
echo "I'm function"
}
testfunct
declare -a testarr
testarr=([1]=arr1 [2]=arr2 [3]=arr3)
echo ${testarr[@]}
И когда я запускаю его, я получаю:
$ ./test.sh
I'm function
arr1 arr2 arr3
Итак, вот вопрос - для чего я должен (если должен...) вставить declare
здесь?
С ним - или без него он работает так же...
Я могу понять, например, declare -i var
или declare -r var
. Но для чего -f
(объявить функцию) и -a
(объявить массив)?
Спасибо за советы и ссылки.