From be2da98674cfa3b2dacd9eba36de06a4aab807bf Mon Sep 17 00:00:00 2001 From: whyour Date: Fri, 26 Jul 2024 11:30:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=BB=E5=8A=A1=E4=B8=AD?= =?UTF-8?q?=20task=5Fbefore=20=E5=8F=82=E6=95=B0=E5=8F=8C=E5=BC=95?= =?UTF-8?q?=E5=8F=B7=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shell/preload/sitecustomize.js | 3 ++- shell/preload/sitecustomize.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/shell/preload/sitecustomize.js b/shell/preload/sitecustomize.js index febb7c4d..7464483b 100644 --- a/shell/preload/sitecustomize.js +++ b/shell/preload/sitecustomize.js @@ -45,7 +45,8 @@ function run() { const fileName = process.argv[1].replace(`${dir_scripts}/`, ''); let command = `bash -c "source ${file_task_before} ${fileName}`; if (task_before) { - command = `${command} && echo -e '执行前置命令\n' && eval '${task_before}' && echo -e '\n执行前置命令结束\n'`; + const escapeTaskBefore = task_before.replace(/"/g, '\\"'); + command = `${command} && echo -e '执行前置命令\n' && eval '${escapeTaskBefore}' && echo -e '\n执行前置命令结束\n'`; } const res = execSync( `${command} && echo -e '${splitStr}' && NODE_OPTIONS= node -p 'JSON.stringify(process.env)'"`, diff --git a/shell/preload/sitecustomize.py b/shell/preload/sitecustomize.py index 31645d8b..f9d426a9 100644 --- a/shell/preload/sitecustomize.py +++ b/shell/preload/sitecustomize.py @@ -55,7 +55,8 @@ def run(): task_before = os.getenv("task_before") if task_before: - command += f" && echo -e '执行前置命令\n' && eval '{task_before}' && echo -e '\n执行前置命令结束\n'" + escape_task_before = task_before.replace('"', '\\"') + command += f" && echo -e '执行前置命令\n' && eval '{escape_task_before}' && echo -e '\n执行前置命令结束\n'" python_command = "PYTHONPATH= python3 -c 'import os, json; print(json.dumps(dict(os.environ)))'" command += f" && echo -e '{split_str}' && {python_command}\""