código-fonte auto-compilado

//&> /dev/null; 
OUTFILE
=$(basename "$0" .c);
gcc $0
-o "$OUTFILE";
./"$OUTFILE";
exit;

#include <stdio.h>

int main () {
printf
("hello world!n");
}

Salve este código como hello.c altere o bit executável e execute como binário

chmod +x hello.c
./hello.c

Então, vamos aprofundar

//&> /dev/null; 
OUTFILE
=$(basename "$0" .c);
gcc $0
-o "$OUTFILE";
./"$OUTFILE";
exit;

Claro, todas as linhas são interpretadas independentemente por dois programas diferentes: gcc e bash.
Ambos acham que esta é a longa linha comentada, quebrada em poucos por barras invertidas.
E o bash pensa que este é o código do bash e realmente executa // como um comando e dá erro, mas ignoramos esse fato redirecionando a saída para / dev / null.
Em seguida, ele vai além, executando essa longa linha até que o comando de saída seja alcançado.

Este truque foi criado por causa da preguiça de digitar todos os comandos para compilar e executar o arquivo de código-fonte c simples. Mas isso pode ser absolutamente aplicado a qualquer linguagem de compilação.

@haynesgt forneceu uma solução ainda mais bonita:

#if 0
OUTFILE
=$(basename "$0" .c)
gcc $0
-o "$OUTFILE"
./"$OUTFILE"
exit
#endif

#include <stdio.h>
int main(){
printf
("hello");
return 0;
}

Obrigado, @haynesgt ! Isso é inteligente!