expression expected
./ipn.sh: line 39: [: : integer expression expected
если над этими строками активирую exit_code=$? , то скрипт работает , но последовательно по одной строке :(
А если ты удалишь вообще всю это конструкцию из последних if-else?
#!/bin/bash BINARY_FILE="trt" TEXT_FILE="9401.txt" TIMEOUT_SECONDS=10 DELAY_SECONDS=1 LINES_TO_READ=3 # Функция для чтения нескольких строк сразу read_lines() { local lines=() local line for ((i = 0; i < $LINES_TO_READ; i++)); do IFS= read -r line [[ -z "$line" ]] && break lines+=("$line") done printf '%s\n' "${lines[@]}" } # Основной цикл для чтения файла порциями while true; do chunk=$(read_lines < "$TEXT_FILE") if [[ -z "$chunk" ]]; then break fi while IFS= read -r line; do echo "Запуск строки: $line" # timeout "$TIMEOUT_SECONDS"s ./"$BINARY_FILE" "net.tcp://$line" # Проверка кода завершения команды, если требуется exit_code=0 # Устанавливаем начальное значение exit_code в 0 if [ "$exit_code" -eq 124 ]; then echo "Превышено ограничение времени выполнения для строки: $line" # Дополнительная обработка, если необходимо elif [ "$exit_code" -ne 0 ]; then echo "Произошла ошибка при выполнении строки: $line" # Дополнительная обработка ошибок, если необходимо fi sleep "$DELAY_SECONDS" done <<< "$chunk" done
Афигеть , буду пробовать !
Не, не сработало (
Обсуждают сегодня