如何在 make 中形成一个合适的 if else 来寻找用户?

How to form a proper if else in make to find user?

我是新手,想了解更多关于条件的知识。

我想在 makefile 中检查 whoami 的结果,但总是出错

ifeq ($(whoami), "John")
echo "PC"
else 
echo "Server"
endif

这里它在 echo "Server" 行给我一个错误,说 *** missing separator 我该如何解决?

你会想要这样的东西:

#!/bin/bash
if [[ $(whoami) == "John" ]]; then
  echo "PC"
else
  echo "Server"
fi

如 Primitive 所述,bash 不使用 ifeqendif

编辑

根据 chepner 的评论,这个问题可能是关于 Make 而不是 Bash,在这种情况下,这应该有效:

SHELL = /bin/sh

USER = $(shell whoami)

buildbegin:
ifeq ($(USER), John)
        @echo PC
else
        @echo Server
endif

可以用make -f $MakeFile

进行测试