Este comando levará muito tempo para ser executado (já que examinará todos os arquivos no sistema), mas deverá encontrar o arquivo:
find / -type f -print0 | xargs -0 grep -w 'TMOUT=' /dev/null
Uma abordagem alternativa é descobrir em que circunstâncias ela está definida, por exemplo, verificando se ela está definida quando o shell não é um shell de login ( env -i bash ) e se é ( env -i bash --login ). Você pode verificar manualmente os arquivos em $HOME , por exemplo .profile , .env , .bashrc ou .bash_profile . Existem também alguns arquivos em /etc/ que especificam variáveis de ambiente; poderia ser definido em qualquer um deles.
Se o seu shell de login for ksh , você verá que $TMOUT é definido pelo próprio shell ksh.
Editar: para explicar alguns dos recursos menos óbvios da linha de comando acima:
O idioma find ... -print0 | xargs -0 ... é bastante comum. O ponto de usar -print0 em vez do padrão -print é que os nomes de arquivos são finalizados com um ASCII NUL no caso de -print0 . Isso significa que nomes de arquivos contendo uma nova linha serão representados corretamente. Passar a opção -0 para xargs simplesmente faz com que xargs entenda a mesma convenção.
A prática de passar /dev/null rotineiramente como o primeiro argumento para grep também vale a pena ser explicada. Como você só obtém o final do arquivo ao ler /dev/null , ele nunca corresponderá a nenhuma string não vazia com grep . Portanto, não haverá ocorrências para esse arquivo. Nós apenas o especificamos na linha de comando do grep para lidar corretamente com o caso em que a hora final xargs é executada grep, existe apenas um arquivo restante a ser pesquisado. Se o grep tiver apenas um argumento de arquivo, ele listará as ocorrências sem especificar a linha de comando. Assim:
~/tmp/t$ echo hello > a
~/tmp/t$ echo hi > b
~/tmp/t$ grep '^h.*' a
hello
~/tmp/t$ grep '^h.*' a b
a:hello
b:hi