
Я хочу создать bash для копирования определенного файла (app8000.js) в ту же папку и последовательного переименования его в соответствии со списком уже запущенных приложений в моем pm2 (app8001.js, app8002.js, app8003.js), затем найти «8000» внутри файла и заменить его на число в новом имени файла, например: «8004», «8005», «8006»...
Чтобы было понятнее:
- скопируйте исходный файл (например, app8000.js)
- найти последний номер в списке запущенных приложений pm2 (например, app8003.js)
- переименуйте новый файл в «app8004.js»
- найдите определенный текст, например «8000», внутри этого нового файла и замените все совпадения на «8004»
- pm2 запустить это новое приложение
Извините за плохой английский. Я начинающий пользователь Linux, так что, пожалуйста, не ругайтесь :)
Любая помощь будет принята с благодарностью.
Ваше здоровье!
решение1
Я не уверен, что правильно понял ваш запрос, но вы можете попробовать это:
#!/bin/bash
numberOfProcess=$(find . -name 'app*' -printf x | wc -c)
newID=$((8000 + $numberOfProcess))
cp app8000.js app$newID.js