Estou surpreso que você tenha recebido algo, já que stat -f "%m" ...
não é válido. Tem certeza de que copiou a versão atual do seu comando?
Parece que você está usando -c (especificar formato) não -f (sistema de arquivos) você obtém o ponto de montagem para a lista de arquivos que você fornece para stat, que você truncar para um único caminho e depois ter data stat ponto de montagem e fornecer um formato.
existem várias coisas que você pode fazer para acelerar ou simplificar a primeira das quais é não usar data.
COMMAND='stat -fc "%y" '"$BASENAME"'/../logs/catTest*.log |& head -n1'
isso infelizmente é dependente do local e inclui nanossegundos, então podemos usar
COMMAND='LC_ALL=C stat -fc "%y" '"$BASENAME"'/../logs/catTest*.log |& head -n1|sed "s/\.[0-9]\+//"'
Uma segunda opção é não ter um status de chamada de data
COMMAND='date 'stat -fc "@%Y" '"$BASENAME"'/../logs/catTest*.log |& head -n1' +"%Y-%m-%d %H:%M:%S %z"'
Se isso ainda exibir nanossegundos (o que não deveria, enviar um relatório de bug), você poderá filtrar com uma expressão regular mais simples.
COMMAND='date 'stat -fc "@%Y" '"$BASENAME"'/../logs/catTest*.log |& head -n1' +"%Y-%m-%d %H:%M:%S %z"|sed "s/\.0\+//"'
Há mais uma coisa que poderia acelerar as coisas (dependendo se é mais rápido para todos os arquivos de log ou gerar outra tarefa) e que é para filtrar os arquivos antes de stat
COMANDO = ls "$ BASENAME" '/../ logs / catTest * .log | head -n1 | LC_ALL = C xargs stat -fc "% y" | sed "s /. [0-9] + // '