在我的文件中,CMakeLists.txt我需要执行位于/include/ff 下的mapping_string.sh 脚本。该脚本需要用户输入“y”才能继续。
我尝试了这种方法,但我只得到了“mapping_string.sh”字符串的无限打印。
execute_process(
COMMAND yes | bash mapping_string.sh
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/include/ff
RESULT_VARIABLE FF_MS_RES
)
Run Code Online (Sandbox Code Playgroud)
使用命令内置的功能execute_process而不是管道:
命令作为管道同时执行,每个进程的标准输出通过管道传输到下一个进程的标准输入。所有进程都使用一个标准错误管道。
execute_process(
COMMAND yes
COMMAND bash mapping_string.sh
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/include/ff
RESULT_VARIABLE FF_MS_RES
)
Run Code Online (Sandbox Code Playgroud)