从 pm2 列表中按顺序复制并重命名正在运行的应用程序的特定文件

从 pm2 列表中按顺序复制并重命名正在运行的应用程序的特定文件

我想制作一个 bash 来复制同一文件夹中的特定文件(app8000.js),并根据我的 pm2 上已运行的应用程序列表(app8001.js、app8002.js、app8003.js)按顺序重命名它,然后在文件中找到“8000”并将其替换为新文件名中的数字,如:“8004”、“8005”、“8006”...

为了更清楚起见:

  1. 复制原始文件(例如app8000.js)
  2. 在 pm2 运行应用程序列表中找到最新的数字(例如 app8003.js)
  3. 将新文件重命名为“app8004.js”
  4. 在这个新文件中查找特定文本,例如“8000”,并将所有匹配项替换为“8004”
  5. pm2启动这个新应用程序

抱歉,作为一个 Linux 初级用户,我的英语不好,所以请对我宽容一点 :)

任何帮助都将不胜感激。

干杯!

答案1

我不确定我是否正确理解了您的请求,但您可以尝试:

#!/bin/bash

numberOfProcess=$(find . -name 'app*' -printf x | wc -c)
newID=$((8000 + $numberOfProcess))
cp app8000.js app$newID.js

相关内容