【发布时间】:2014-08-13 14:59:17
【问题描述】:
我想在 shell 脚本中使用 C 预处理器指令。由于 C 预处理阶段不会编译整个脚本。因此应该可以使用 C 预处理器指令,因为它将被视为脚本的注释。在项目中维护一个包含多个更改并在宏下合并的单个副本也会很有帮助。
这是我为说明而编写的示例代码:
#ifdef HELLO
foo="Hello"
#else
foo="World"
#endif
echo $foo
现在我将此文件保存为testScript.c 并使用 gcc 进行编译
gcc -E testScript.c -o testScript.sh -DHELLO
现在我有testScript.sh。
如果我运行这个脚本,我得到的结果是
sh testScript.sh
Output: Hello
【问题讨论】:
-
你的问题是?
-
普通条件/变量有什么问题?
-
我不会调用输入文件
testScript.c,因为它绝对不是C源代码。 -
条件变量没有问题,但您可以动态包含您的条件。这就是它的全部意义所在。
-
由于您还没有更新您的问题,我再次提一下:您似乎没有问题。你已经展示了一种技术,但你实际上并没有问任何关于它的问题。你到底想问什么?