我想找到的腳本文件,我需要從這些文件得到諸如bash,sh的所有解釋的列表等轉義#在BRE正則表達式
地發現,我用:
grep "#!/bin/*" ./*
但它顯示:
-bash: !/bin/*": event not found
我想我需要以某種方式逃避#符號,但我沒有找到符號在BRE的文件進行轉義。
而我如何才能找到包含這種模式的文件在正則表達式只在文件的第一行?
我想找到的腳本文件,我需要從這些文件得到諸如bash,sh的所有解釋的列表等轉義#在BRE正則表達式
地發現,我用:
grep "#!/bin/*" ./*
但它顯示:
-bash: !/bin/*": event not found
我想我需要以某種方式逃避#符號,但我沒有找到符號在BRE的文件進行轉義。
而我如何才能找到包含這種模式的文件在正則表達式只在文件的第一行?
可否請您嘗試以下find命令,讓我知道,如果這有助於禁用regex
比賽。
find -type f -exec grep -l '#!/bin*' {} \+
逃離!
與\
:
grep "#\!/bin/*" ./*
請注意,您可以禁用[歷史擴展(https://www.gnu.org/software/bash/manual/html_node/History-Interaction .html)通過使用'set + H',例如可以將其添加到'.bash_rc'中。我不會將此作爲答案發布,因爲您不應該依賴它來讓腳本正常工作,但是由於我覺得這個功能令人討厭,所以我喜歡爲自己禁用它。 – Aaron