From f4337008eb2246a0d5d5735715d5a10b0e15f8c6 Mon Sep 17 00:00:00 2001 From: whyour Date: Sun, 7 Jul 2024 21:26:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cli/otask.mjs | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/cli/otask.mjs b/cli/otask.mjs index 4800d020..239e5381 100755 --- a/cli/otask.mjs +++ b/cli/otask.mjs @@ -144,8 +144,8 @@ async function runNormal(fileParam, scriptParams) { async function runConcurrent(fileParam, envParam, numParam, scriptParams) { if (!envParam || !numParam) { - console.log(`\n 缺少并发运行的环境变量参数 task xxx.js conc Test 1 3`); - process.exit(1); + console.log(`缺少并发运行的环境变量参数 task xxx.js conc Test 1 3`); + return; } const array = (process.env[envParam] || '').split('&'); @@ -186,8 +186,8 @@ async function runConcurrent(fileParam, envParam, numParam, scriptParams) { async function runDesignated(fileParam, envParam, numParam, scriptParams) { if (!envParam || !numParam) { - console.log(`\n 缺少单独运行的参数 task xxx.js desi Test 1 3`); - process.exit(1); + console.log(`缺少单独运行的参数 task xxx.js desi Test 1 3`); + return; } const array = (process.env[envParam] || '').split('&'); @@ -200,13 +200,11 @@ async function runDesignated(fileParam, envParam, numParam, scriptParams) { cd(relativePath); fileParam = fileParam.replace(`${relativePath}/`, ''); } - - console.log('cookieStr', cookieStr.length, arrayRun.length) - // ${envParam}="${cookieStr.replace('"', '\\"')}" + + console.log('cookieStr', cookieStr.length, arrayRun.length); + // ${envParam}="${cookieStr.replace('"', '\\"')}" await runWithTimeout( - `${ - globalState.whichProgram - } ${fileParam} ${scriptParams}`, + `${globalState.whichProgram} ${fileParam} ${scriptParams}`, ); } @@ -244,6 +242,13 @@ async function main(taskShellParams, scriptParams) { return await usage(); } if (fileParam && /\.(js|py|pyc|sh|ts)$/.test(fileParam)) { + const filePath = fileParam.startsWith('/') + ? fileParam + : path.join(dirScripts, fileParam); + if (!(await fs.exists(filePath))) { + console.log(`文件不存在 ${fileParam}`); + return; + } switch (action) { case undefined: return await runNormal(fileParam, scriptParams);