
Quero fazer um bash para copiar um arquivo específico (app8000.js) na mesma pasta e renomeá-lo sequencialmente de acordo com uma lista de aplicativos já em execução no meu pm2 (app8001.js, app8002.js, app8003.js) e encontrar "8000" dentro do arquivo e substitua-o pelo número no novo nome do arquivo como: "8004", "8005", "8006"...
Para deixar mais claro:
- copie o arquivo original (por exemplo, app8000.js)
- encontre o último número na lista de aplicativos em execução pm2 (por exemplo, app8003.js)
- renomeie o novo arquivo "app8004.js"
- encontre um texto específico como "8000" dentro deste novo arquivo e substitua todas as correspondências por "8004"
- pm2 inicie este novo aplicativo
Desculpe pelo mau inglês, usuário Linux iniciante, então, por favor, vá com calma comigo :)
Qualquer ajuda seria apreciadas.
Saúde!
Responder1
Não tenho certeza se entendi sua solicitação corretamente, mas você pode tentar isso:
#!/bin/bash
numberOfProcess=$(find . -name 'app*' -printf x | wc -c)
newID=$((8000 + $numberOfProcess))
cp app8000.js app$newID.js