ls -tr /tmp/cores
não lista os caminhos completos dos arquivos, mas apenas seus nomes de base.
Experimente ls -tr /tmp/cores/* | ...
.
Mas você não precisa disso - já que todos os nomes de arquivos estão no formato core.%t
( %t
= unix time of dump), você pode simplesmente confiar no glob para classificá-los. Além disso, não faz sentido remover 10 arquivos depois de adicionar apenas um - depois de várias etapas, você não terá mais arquivos no diretório.
#! /bin/sh
cat > "$1"
# remove the oldest file if there are more than 100
cleanup(){ test "$#" -gt 100 && rm "$1" }
cleanup /tmp/cores/*