Ну, вам определенно необходимо предоставить некоторые значения для $START
и $END
. Они не будут устанавливать себя!
Вы можете сделать что-то вроде
START = `date +%s`
чтобы установить время в секундах. Конечно, END
нужно будет установить внутри цикла, чтобы обновить его.
EDIT: cd ..
, надеюсь, не совсем то, что вы планируете запустить внутри цикла. В течение нескольких миллисекунд ваш текущий каталог будет корневым каталогом, и мало что еще будет выполнено. Было бы дешевле сделать один cd /
.
РЕДАКТИРОВАТЬ 2: Это не должно быть такой сложной проблемой. Для этого редактирования я создал и протестировал однострочное решение:
START=$(date +%s); DIFF=0; while [ $DIFF -lt 30 ]; do echo $DIFF; DIFF=$(($(date +%s)-$START)); done
Это корректно обновит свои переменные и отобразит их ... и закончится через 30 секунд.