У меня есть файл номера порта map.ini:
50051=1
50052=1
50053=1
50054=1
50055=1
50056=1
и скрипт sample.sh, содержимое которого:
#!/bin/bash
file=map.ini
while IFS='=' read -r port varPortStatus
do
if [[ $varPortStatus -eq "1" ]]; then
printf "Available port is %s" $port
printf "Status is %d." $varPortStatus.
return 0
fi
done < "$file"
echo "No port is available"
Ожидаемый вывод, который мне нужен:
Available port is 50051
Status is 1
Я могу сделать это с помощью команд sed
или cut
.Но мне нужно разобраться с IFS здесь.Я получаю вывод:
")syntax error: invalid arithmetic operator (error token is "
")syntax error: invalid arithmetic operator (error token is "
")syntax error: invalid arithmetic operator (error token is "
")syntax error: invalid arithmetic operator (error token is "
")syntax error: invalid arithmetic operator (error token is "
")syntax error: invalid arithmetic operator (error token is "
No port is available
Скажите, пожалуйста, где я делаю не так?