unix shell 中 echo 和 @echo 的区别

Difference between echo and @echo in unix shells

"echo" 和 unix 世界中的“@echo”有什么区别?

我什至不会 google 特殊字符。

例如, 已使用 here

那是 Makefile-specific thing;它与 shell 脚本无关。

@ 开头的食谱不会回显命令。也就是说,用一个Makefile

foo:
    echo foo

你得到

$ make foo        # <-- this is meant to be the command you enter in the shell
echo foo
foo

而使用 Makefile

foo:
    @echo foo

$ make foo
foo
applemcg.$ fbdy newest trace_any
function newest
{ 
    trace_call $# $*;
    [[ -f "" ]] || { 
        trace_call NO ;
        return 1
    };
    t=;
    shift;
    while [[ -n "" ]]; do
        [[ "$t" -ot "" ]] && { 
            trace_call NEWER  than $t;
            return 1
        };
        shift;
    done;
    trace_call NEWEST $t;
    return 0
}
function trace_any
{ 
    printf $* 1>&2
}
applemcg.$ 

所以,"make paradigm" 是

newest outputfile inputa inputb... || {

      command input...   > outputfile
}

然后你就把你的 makefile 扔进了历史的废料堆。