J'ai récemment dû chercher un mot de passe qui aurait pu être enregistré dans un fichier. Je ne voulais pas que cette ligne apparaisse dans l'histoire de bash.
Comment puis-je empêcher un mot de passe ou d'autres informations sensibles d'être stockés dans l'historique bash lors de l'utilisation de grep? Par exemple, comment puis-je demander à grep de lire le modèle depuis stdin ou la console?
Juste pour être complet, je réponds à la question dans le corps: comment obtenir grep pour lire les modèles de stdin:
Vous pouvez utiliser l'
-f
option:Cela lira n'importe quel nombre de modèles
stdin
, un par ligne. (-
signifiestdin
; vous pouvez également spécifier un fichier avec des modèles, un par ligne.)grep
correspondra aux lignes/path/to/file
correspondant à l'un des modèles spécifiés.la source
C'est le mieux que j'ai pu trouver:
Est-ce assez sûr? Existe-t-il de toute façon pour récupérer le motif autre que le défilement du terminal? Y a-t-il une meilleure façon?
la source
read -s
pour éviter l'écho (voir aussi cette question ). Le secret sera cependant visible enps
sortie. Vous pouvez utiliser à la placegrep -f /dev/stdin *
(ougrep -f - *
) pour que grep lise le (s) modèle (s) d'un fichier à la place,^D
(read -es; echo $REPLY) | grep -f - *