我试图将以下命令的输出存储在cmake变量中:
svn info | grep URL | awk -F 'URL: ' '{ print $2}'
使用awk
的目的是从输出的开头删除ULR:以使最终字符串成为以http
开头的URL。然后我在CMake文件中尝试了以下内容:
EXECUTE_PROCESS(
COMMAND svn info ${CMAKE_SOURCE_DIR}
COMMAND grep URL
COMMAND awk -F 'URL: ' '{ print $2}'
OUTPUT_VARIABLE SVNPATH
)
但是我收到了以下语法错误:
awk:cmd。 line:1:$ 2}'
awk:cmd。 line:1:^语法错误
awk:cmd。 line:1:$ 2}'
awk:cmd。 line:1:^表达式中的char'''无效
我该如何解决这个问题?
答案 0 :(得分:3)
这段代码似乎对我有用,你可以尝试一下吗? (当然,将echo
替换为svn info
)
EXECUTE_PROCESS(
COMMAND echo "URL: http://blabla"
COMMAND grep URL
COMMAND awk -F "URL: " "{print $2}"
OUTPUT_VARIABLE SVNPATH
)
MESSAGE(STATUS "EXEC: ${SVNPATH}")