Я не знаю о способе сделать это, однако можно быть в состоянии выполнить то, что Вы пытаетесь сделать использование:
somecommand | while read -r; do echo "Something with $REPLY"; done
Это также будет быстрее, поскольку Вы не будете создавать новый процесс для каждой строки текста.
[РЕДАКТИРУЮТ 09.07.2009] , я внес два изменения:
-r
для отключения обработки обратной косой черты - это означает, что через обратные косые черты во входе пройдут неизменные. X
) в качестве параметра к read
, мы позволяем read
, присваивают его переменной по умолчанию, REPLY
. Это имеет приятный побочный эффект сохранения продвижения и конечных пробелов, которые разделяются иначе (даже при том, что внутренние пробелы сохраняются). От моих наблюдений, вместе эти изменения сохраняют все кроме литеральных символов NUL (ASCII 0) на каждой входной строке.
[РЕДАКТИРУЮТ 26.07.2016]
По словам комментатора Evi1M4chine, установка $IFS
к пустой строке прежде, чем работать read X
(например, с командой IFS='' read X
) должна также сохранить пробелы вначале и конец при хранении результата в $X
, означать, что Вы не вынуждены использовать $REPLY
.
Вам понадобится parseInt
для обработки строк как чисел.
$("#shortfall").text(parseInt($("#shortfall").text()) + 1);
К тому времени, когда оно попадет в браузер, ваше выражение будет вычислено и преобразовано в число. Чтобы использовать jQuery, вам нужно просто получить текстовое значение диапазона, преобразовать его в число, а затем заменить текстовое значение. Вам нужно будет преобразовать значение в число перед выполнением сложения, иначе будет выполнено конкатенация строк.
$("#shortfall").each( function() {
$(this).text( Number($(this).text()) + 1 );
});
Обновлено : я использую каждый, чтобы показать, как вы это сделаете, используя общий селектор, который может принимать коллекцию входов. В вашем случае, если вы знаете, что он соответствует ровно одному элементу, вы можете оптимизировать его, рискуя переписать его, если вы хотите, чтобы код применялся к нескольким элементам.
var span = $("#shortfall");
span.text( Number( span.text() ) + 1 );
Обновлено : необходимо использовать text () (или html ()), поскольку элемент является SPAN, а не входом.