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-dl
aceita:-
-- -FIHqoTcZog
-
https://www.youtube.com/watch?v=-FIHqoTcZog
-
-
youtube-comment-downloader
parece aceitar:-
--youtubeid -FIHqoTcZog
-
-
youtube-comment-scraper
parece aceitar:-
-- -FIHqoTcZog
-
https://www.youtube.com/watch?v=-FIHqoTcZog
-