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}\""