我认为这将是容易的,但我已经浪费在这几个小时。调用带有空格的命令行自变量在bash脚本
我想从一个bash脚本中运行以下命令的CMake。在终端我键入
cmake -G "Unix Makefiles" .
和它的作品。如果我将它完全复制到bash脚本中,它也可以工作。
但剧本是为了在多个平台上工作,它可能是“MSYS Makefile文件”,而不是“Unix的Makefile文件”。因此,我想将命令放在一个变量中,其中的内容取决于平台并执行它。然而,这是我陷入困境的地方。我尝试了所有我能想到的单引号或双引号的组合,但没有成功。
我要的是沿线
c="cmake . -G \"Unix Makefiles\""
exec $c
的东西,但它始终会导致以下一些变化:
CMake Error: Could not create named generator "Unix
我意识到,我可以做
if test [... this is unix ...]
cmake . -G "Unix Makefiles"
else
cmake . -G "MSYS Makefiles
fi
但由于这个电话必须进行多次,我宁愿避免它。
有什么建议吗?
从那里接受的答案做了我的伎俩。 – 2017-03-13 19:25:48