Chr*_* G. 3 linux bash makefile gnu-make
run:
cd ..; \
@echo $(shell pwd)
Run Code Online (Sandbox Code Playgroud)
抛出这个:
/bin/sh: @echo: command not found
Run Code Online (Sandbox Code Playgroud)
以下工作正常,并打印当前目录:
run:
@echo $(shell pwd)
Run Code Online (Sandbox Code Playgroud)
你知道为什么吗?
正如错误消息已经表明的那样:
/bin/sh: @echo: command not found
未找到的实际命令是@echo, not echo。发生此问题的原因是 shell 收到下面的单行,因为您正在使用 转义换行符\。
cd ..; @echo [output of pwd]
Run Code Online (Sandbox Code Playgroud)
您可以将其放在命令@之前cd:
run:
@cd ..; \
echo $(shell pwd)
Run Code Online (Sandbox Code Playgroud)
这样,shell 将收到以下行:
cd ..; echo [output of pwd]
Run Code Online (Sandbox Code Playgroud)