Je veux trouver des fichiers qui sont des scripts et je dois obtenir de ces fichiers la liste de tous les interprètes comme Bash, sh, etc.Échapper # dans BRE regex
Pour cela, j'utiliser:
grep "#!/bin/*" ./*
mais il affiche que:
-bash: !/bin/*": event not found
Je suppose que je dois échapper # symbole en quelque sorte, mais je ne trouve pas ce symbole à échapper à la documentation du BRE.
Et comment puis-je trouver les fichiers qui contiennent ce motif dans regex seulement sur la première ligne du fichier?
Notez que vous pouvez désactiver [l'expansion de l'histoire] (https://www.gnu.org/software/bash/manual/html_node/History-Interaction .html) en utilisant 'set + H', qui peut par exemple être ajouté à votre' .bash_rc'. Je ne publierai pas cela comme une réponse parce que vous ne devriez pas compter dessus pour que votre script fonctionne, mais comme je trouve cette fonctionnalité agaçante, j'aime la désactiver pour moi-même. – Aaron