Я пытаюсь вычислить разницу между двумя временными метками Unix. Расчет 42-23 только для целей тестирования.
# !/bin/bash
TARGET=1305281500
CURRENT=`date +%s`
echo $TARGET
echo $CURRENT
A=`expr 42 - 23`
B=`expr $TARGET - $CURRENT`
echo "A: $A"
echo "B: $B"
Выход:
1305281500
1305281554
expr: non-integer argument
A: 19
B:
В чем проблема вычитания одной переменной из другой? Скрипт работает на Unix-машине. Я использую Cygwin в Windows 7:
$ uname -a
CYGWIN_NT-6.1-WOW64 mypcname 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin
$ bash --version
GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)