Eu tive que grep recentemente por uma senha que pode ter sido salva em um arquivo. Eu não queria que essa linha aparecesse na história do bash.
Como impedir que uma senha ou outras informações confidenciais sejam armazenadas no histórico do bash ao usar o grep? Por exemplo, como posso o grep ler o padrão no stdin ou no console?
Apenas para completar, respondo à pergunta no corpo: como fazer com que o grep leia os padrões do stdin:
Você pode usar a
-f
opção:Isso lerá qualquer número de padrões
stdin
, um por linha. (-
significastdin
; você também pode especificar um arquivo com padrões, um por linha.)grep
corresponderá a linhas nas/path/to/file
quais correspondam a qualquer um dos padrões especificados.fonte
Este é o melhor que eu poderia ter:
Isso é seguro o suficiente? Existe alguma maneira de recuperar o padrão que não seja a rolagem do terminal? Existe uma maneira melhor?
fonte
read -s
para impedir o eco (consulte também esta pergunta ). O segredo será visível naps
saída. Você pode usargrep -f /dev/stdin *
(ougrep -f - *
) para que o grep leia os padrões de um arquivo,^D
(read -es; echo $REPLY) | grep -f - *