Há algum motivo para usar $1
em for name in /path/$1.PK1
em vez de apenas for name in /path/*.PK1
? Você passa um padrão glob para o script de propósito?
Se você quiser pegar todos os arquivos com esses sufixos e novos como eles aparecem, uma solução simples no Bash seria algo assim:
shopt -s nullglob
dir=/home/imp/imp/msgs
while true ; do
for name in "$dir/"*.PK1; do
mv "$name" "${name%.PK1}.BRD" 2>/dev/null >/dev/null
done
for name in "$dir/"*.PK2; do
mv "$name" "${name%.PK2}.MIX" 2>/dev/null >/dev/null
done
sleep 1
done
Se você quiser evitar fazer um trabalho extra, você pode (no Linux) usar algo como inotifywait
para esperar que novos arquivos apareçam, por exemplo, como aqui:
Como usar inotifywait para assistir a um diretório para criação de arquivos de uma extensão específica