Содержимое файла:
#data.conf
ip=127.0.0.1
port=7890
delay=10
key=1.2.3.4
debug=true
Shell Script:
#!/bin/bash
typeset -A config
config=()
config_file_path="./data.conf"
cmd="java -jar ./myprogram.jar"
#This section will read file and put content in config variable
while read line
do
#echo "$line"
if echo $line | grep -F = &>/dev/null
then
key=$(echo "$line" | cut -d '=' -f 1)
config[$key]=$(echo "$line" | cut -d '=' -f 2)
echo "$key" "${config["$key"]}"
fi
done < "$config_file_path"
cmd="$cmd -lh ${config["ip"]} -lp ${config["port"]} -u ${config["debug"]} -hah \"${config["key"]}\" -hap ${config["delay"]}"
echo $cmd
Ожидаемый результат:
java -jar myprogram.jar -lh 127.0. 0.1 -lp 7890 -u true -hah "1.2.3.4" -hap 10 -b
Вывод:
Каждый раз какой-то неожиданный o / p
Пример. -lp 7890rogram.jar
Похоже, он перезаписывает одну и ту же строку снова и снова