我想将日历放入文件中,所以我运行:
$ ncal -CMh > file.txt
但我收到了以下信息:
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]
我很惊讶,因为我确信命令是正确的。我想也许getopts
选项并不像我想象的那样可以改变,所以我尝试重新排序选项。然而,-C
之前没有的所有排列都-M
有效:
$ ncal -hC
$ ncal -Ch
$ ncal -hM
$ ncal -Mh
$ ncal -MCh
$ ncal -MhC
$ ncal -hMC
$ ...
我的理论是,当ncal
进入 cal 模式时,使用-C
它会失去该-M
选项,可能是因为-M
原始cal
.我不知道这是否正确。
为什么会发生这种情况?
这是最新的 Debian Jessie。
答案1
cal
使用消息显示和的有效选项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]
一个flag之后-C
,只能使用通用选项或者有效cal
选项,
直到-N
标志切换回ncal
模式,之后您可以使用常规选项或有效ncal
选项。直到另一个-C
标志切换回cal
模式,依此类推。