Каково использование и функция двойного тире «--»?

Каково назначение двойного тире, используемого в команде `runuser -u username --`? Как оно позволяет избежать проблемы с использованием множества апострофов и кавычек при запуске команды от другого пользователя?
  • 6 мая 2024 г. 21:20
Ответы на вопрос 2
Двойное тире «--» в команде `runuser -u username --` используется для указания конца опций командной строки и начала аргументов команды, чтобы избежать интерпретации символов `-` в качестве опций команды, если они начинаются с этого символа. Это позволяет избежать проблем с использованием множества апострофов и кавычек при запуске команды от другого пользователя, так как `runuser` будет принимать оставшуюся часть команды как аргументы, а не опции.
<code>man bash</code> <br/> <br/> <blockquote><code>--</code> 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 --<br/>
</blockquote> <br/> Сообщает, что опции у запускаемой команды закончились и дальше будут только позиционные аргументы, характерный пример использования найти подстроку <code>-v</code> с помощью grep в текстовом файле: <code>grep -- -v file.txt</code> , если не добавить <code>--</code> , то grep воспримет <code>-v</code> , как свою опцию, а не подстроку для поиска. <br/> <br/> Это способ корректно обработать управляющие символы не прибегая к "понапихать кучу апострофов и кавычек в несколько слоев".
Похожие вопросы