diff --git a/src/recipe/lang/Python/uv.c b/src/recipe/lang/Python/uv.c index 9eb6672..d97afc1 100644 --- a/src/recipe/lang/Python/uv.c +++ b/src/recipe/lang/Python/uv.c @@ -94,15 +94,21 @@ pl_python_uv_setsrc (char *option) uv_config); char *append_source_cmd = xy_strjoin (4, "printf '", source_content, "' >> ", uv_config); - // grep -q '^[[index]]$' uv_config && update_source_cmd || append_source_cmd - // 如果 uv_config 中存在 [[index]] 则更新, 否则追加到文件末尾 - // 文件不存在也是追加到新文件末尾 - char *cmd = xy_strjoin (6, "grep -q '^\\[\\[index\\]\\]$' ", - uv_config, - " && ", - update_source_cmd, - " || ", - append_source_cmd); + char *cmd = NULL; + if (!xy_file_exist(uv_config)) { + // uv_config 不存在,追加到新文件末尾 + // run: append_source_cmd + cmd = append_source_cmd; + } else { + // uv_config 存在,如果存在 [[index]] 则更新,否则追加到文件末尾 + // run: grep -q '^[[index]]$' uv_config && update_source_cmd || append_source_cmd + cmd = xy_strjoin (6, "grep -q '^\\[\\[index\\]\\]$' ", + uv_config, + " && ", + update_source_cmd, + " || ", + append_source_cmd); + } chsrc_run (cmd, RunOpt_Default);