man bash
--
signals the end of options and disables further option processing. Any arguments after the -- are treated as filenames and arguments. An argument of - is equivalent to --
Сообщает, что опции у запускаемой команды закончились и дальше будут только позиционные аргументы, характерный пример использования найти подстроку
-v
с помощью grep в текстовом файле:
grep -- -v file.txt
, если не добавить
--
, то grep воспримет
-v
, как свою опцию, а не подстроку для поиска.
Это способ корректно обработать управляющие символы не прибегая к "понапихать кучу апострофов и кавычек в несколько слоев".