Я запускаю скрипт, который использует команду tee
для входа вывода на экран, а также в файл. Сценарий выглядит следующим образом:команда tee не работает
Script.sh:
count=1
while [ $count -le 10 ]
do
echo "`date` : Function call, loopcount - $count" | tee -a logfile.log
functioncall
count=$($count + 1)
done
Функция fucntioncall() определена в том же скрипте.
functioncall(){
<some processing>
cd $Location
<some processing>
}
Когда я бегу script.sh, этот скрипт работает успешно, но только одна запись сделана в logfile.log, для первого запуска, в то время как на экране вывода я могу видеть, что цикл выполняется для 10 раз с правильной петлей увеличивается и отображается, но запись в файле logfile.log не выполняется.
Когда я комментирую строку cd $Location
в скрипте, она ведет себя по желанию, означает, что и O/P, и logfile.log показывают правильный цикл.
Любая идея, почему это неопределенное поведение наблюдается? Любое исправление/обходное решение очень ценится!
Ищите 'logfile.log' в' $ Location'. – Mat
Спасибо @Mat! Я получаю его во время отладки с использованием опции pushd и popd, вычислен логической ошибкой – pRAShANT
Также вы имели в виду 'while [$ count -le 10]'? – anishsane