powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / bash скрипт - проблема с переменной
3 сообщений из 3, страница 1 из 1
bash скрипт - проблема с переменной
    #35275392
ivsmir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый, народ.
Проблема: не понимаю почему работает не так как я бы хотел один маленький кусочек скрипта на bash.

Что этот кусок должен делать: читает построчно файл сгенерированный одной программкой, который состоит из строк содержащих по три числа (через табуляцию) - их нужно сложить и напечатать. Ещё нужно подсчитать общую сумму. Т.е. всё очень просто.

Проблема в том, что он ведёт себя так, будто переменная TSUM в строке 129 и 133 - это разные переменные. В строке 129 ей присваиваются правильные значения, но в 133 - она равна нулю и это плохо.

# ...

120: declare -i TSUM=0 # total sum
121: declare -i FSUM=0 # field sum
122:
123: cat $INPFILE | while read LINE; do
124: FSUM=0
125: for FIELD in `echo $LINE`; do
126: FSUM=`expr $FSUM + $FIELD`
127: done
128:
129: TSUM=`expr $TSUM + $FSUM`
130: echo "$FSUM"
131: done | sort -n
132:
133: echo "TSUM=$TSUM"

# ...
...
Рейтинг: 0 / 0
bash скрипт - проблема с переменной
    #35275611
avb1003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам может помочь такой вариант:
Код: plaintext
1.
2.
3.
4.
5.
6.
...
while read LINE; do
...
done <$INPFILE >TMP_FILE
cat TMP_FILE | sort -n
...
У Вас не работает потому, что ваш цикл while запускается в подпроцессе,
в котором имеется своя переменная TSUM никак не связанная с TSUM
главного процесса процесса.
...
Рейтинг: 0 / 0
bash скрипт - проблема с переменной
    #35275896
ivsmir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное. Вопрос закрыт.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / bash скрипт - проблема с переменной
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]