Porque é que 'ncal -CM' não funciona mas 'ncal -MC' faz?

0

Eu queria colocar um calendário em um arquivo, então eu corri:

$ ncal -CMh > file.txt

Mas, em vez disso, recebi o seguinte:

Usage: cal [general options] [-hjy] [[month] year]
       cal [general options] [-hj] [-m month] [year]
       ncal [general options] [-bhJjpwySM] [-s country_code] [[month] year]
       ncal [general options] [-bhJeoSM] [year]
General options: [-NC31] [-A months] [-B months]
For debug the highlighting: [-H yyyy-mm-dd] [-d yyyy-mm]

Fiquei surpreso porque tinha certeza de que o comando estava correto. Eu pensei que talvez, getopts opções não são permutáveis como eu pensei então eu tentei reordenar as opções. No entanto, todas as permutações que não tiveram -C antes de -M funcionaram:

$ ncal -hC
$ ncal -Ch
$ ncal -hM
$ ncal -Mh
$ ncal -MCh
$ ncal -MhC
$ ncal -hMC
$ ...

Minha teoria é que quando ncal entra no modo cal usando -C ele perde a opção -M provavelmente porque -M não existia no original cal . Não tenho ideia se isso está correto ou não.

Por que isso acontece?

Isto está no Debian Jessie mais recente.

    
por Yanevski 04.01.2017 / 22:48

1 resposta

3

A mensagem de uso mostra as opções válidas para cal e ncal :

Usage: cal [general options] [-hjy] [[month] year]
       cal [general options] [-hj] [-m month] [year]
       ncal [general options] [-bhJjpwySM] [-s country_code] [[month] year]
       ncal [general options] [-bhJeoSM] [year]
General options: [-NC31] [-A months] [-B months]

Após um sinalizador -C , você só pode usar opções gerais ou opções cal válidas, até que um sinalizador -N retorne ao modo ncal , após o qual você pode usar as opções gerais ou as opções ncal válidas. Até que outro sinal -C mude de volta para o modo cal , e assim por diante.

    
por 04.01.2017 / 23:00

Tags