O executável em execução saberá a linha de comando completa e poderá modificar seu comportamento, dependendo do nome pelo qual foi chamado. Para a instância específica de apropos
/ whatis
, você pode ver no código-fonte (em torno da linha 895 da versão recente vinculada) que a primeira coisa que é feita é determinar se o comando foi chamado pelo nome apropos
or not:
int main (int argc, char *argv[])
{
#ifdef HAVE_ICONV
char *locale_charset;
#endif
int status = OK;
program_name = base_name (argv[0]);
if (STREQ (program_name, APROPOS_NAME)) {
am_apropos = 1;
argp_program_version = "apropos " PACKAGE_VERSION;
} else {
Há cerca de uma dúzia de locais adicionais no processamento que verificam o sinalizador am_apropos
e se comportam de maneira diferente, dependendo de estar ou não definido.