Прежде всего, Вы изобретаете колесо заново. Вот для чего команда time
:
$ time script.sh
real 0m0.005s
user 0m0.000s
sys 0m0.004s
Тогда у Вас синтаксическая ошибка:
echo "runtime: " $(runtime) >> result.txt
Синтаксис $(foo)
- это подмена команды, он попытается запустить foo
. Вы имели в виду
echo "runtime: $runtime" >> result.txt
Кстати, вы всегда должны включать сообщения об ошибках, которые вы получаете в вопросе.
У вас опечатка в эхо-операторе. Она должна быть
#!/bin/bash
#clear
echo "Test 001" > result.txt
echo "start time: " $(date +%T) >> result.txt
start=`date +%s`
#DO STUFF HERE
end=`date +%s`
echo "end time: " $(date +%T) >> result.txt
runtime=$((end-start))
echo "runtime: $runtime" >> result.txt
echo " - - - "