Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / bash скрипт - проблема с переменной / 3 сообщений из 3, страница 1 из 1
23.04.2008, 18:44:56
    #35275392
ivsmir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash скрипт - проблема с переменной
День добрый, народ.
Проблема: не понимаю почему работает не так как я бы хотел один маленький кусочек скрипта на 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
23.04.2008, 21:09:28
    #35275611
avb1003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash скрипт - проблема с переменной
Вам может помочь такой вариант:
Код: 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
24.04.2008, 04:20:48
    #35275896
ivsmir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash скрипт - проблема с переменной
Спасибо огромное. Вопрос закрыт.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / bash скрипт - проблема с переменной / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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