У меня есть две функции, которые хранят только переменные. Пример:
Function datanode1(){
homedirectory = "/path/to/file"
ConfigDirectory = "/path/to/file"
user = "john"
max_open_Files = 262114
}
datanode2 точно такой же, только файлы с разными путями.
Я бы хотел сделать что-то вроде этого:
if [ "$a1" == "all" ]; then
for i in [datanode2, datanode1] do
*execute Script*
done
fi
Это возможно? Как функции действуют как массивы?
И не var = value, а var=value - см. Параметры оболочки и Простое расширение команд





Если у вас есть функции с именами datanode2 и datanode1, и вы хотите выполнять их в цикле, вы можете написать так:
for fun in datanode2 datanode1; do
"$fun"
done
Кстати, в определении функции в вашем примере есть синтаксическая ошибка. Это должно быть примерно так:
datanode1() {
homedirectory = "/path/to/file"
ConfigDirectory = "/path/to/file"
user = "john"
max_open_Files=262114
}
Не
Function, аfunction. а не обаfunctionи(). Просто используйтеdatanote1() { ...; }