if [[ -a ${LOGFILE} ]]; then
if [[ -a ${LOGFILE}.old ]]; then
rm -f ${LOGFILE}.old
fi
mv ${LOGFILE} ${LOGFILE}.old
fi
Havent done nested ifs in a while. I'm reading someones code If I'm reading this correctly. It checks for the logfile, and if it exists it checks for the old logfile and if that exists, it removes the old log file. Else it moves the logfile to the logfile.old. Someone correct me if I'm wrong, thanks.
See the man page for test -- man test
it has all of those -<whatever> tests and tells you their meaning. -f tells you if it is a regular file and exists, for example.