Извините за такой невинный вопрос - я просто попытаюсь взять на себя...
Например - у меня:
$ 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 (объявить массив)?
Спасибо за советы и ссылки.