Pergunta relacionada: O que significa “-” (duplo traço)? (também conhecido como "duplo traço nu")
O caracter do hífen não é interpretado pelo seu shell, mas pelo programa / script (seu parser, mais precisamente) que você está usando. É por isso que escapar (no nível do shell) não funciona.
Os programas geralmente reconhecem argumentos com hífen (s) principal (es) como opções , não como operandos . Para interpretar argumentos como -foo como operandos, os programas geralmente seguem uma ou mais destas maneiras:
- Reconheça o primeiro argumento
--como o marcador de final de opções:program -- -foo - Permitir que você transmita operandos como argumentos da opção:
program --option -foo - Reconhecer operandos de formas alternativas:
program prefix-foo
No seu cenário específico:
-
youtube-dlaceita:-
-- -FIHqoTcZog -
https://www.youtube.com/watch?v=-FIHqoTcZog
-
-
youtube-comment-downloaderparece aceitar:-
--youtubeid -FIHqoTcZog
-
-
youtube-comment-scraperparece aceitar:-
-- -FIHqoTcZog -
https://www.youtube.com/watch?v=-FIHqoTcZog
-