我想制作一个 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