cal -h 没有产生预期的输出

cal -h 没有产生预期的输出
$ cal -h
Usage: cal [general options] [-jy] [[month] year]
       cal [general options] [-j] [-m month] [year]
       ncal -C [general options] [-jy] [[month] year]
       ncal -C [general options] [-j] [-m month] [year]
       ncal [general options] [-bhJjpwySM] [-H yyyy-mm-dd] [-s country_code] [[month] year]
       ncal [general options] [-bhJeoSM] [year]

常规选项:[-31] [-A 个月] [-B 个月] [-d yyyy-mm]

我希望关闭当天的突出显示。

答案1

不,这不是错误。如果你查看该/usr/bin/cal文件,你会发现它是一个符号链接:

$ ls -l /usr/bin/cal
lrwxrwxrwx 1 root root 4 Jan 17  2018 /usr/bin/cal -> ncal

cal指向ncal。二进制文件根据其调用的名称修改其行为。提示是前两行列出了cal -hcal而下一行列出了ncal

ncal -h禁用当前日期的高亮显示。

之所以以这种方式实现,是为了cal在不破坏旧格式的情况下提供更好的格式。这也在以下内容中有所说明man cal

历史

cal 命令出现在 AT&T UNIX 版本 5 中。ncal 命令出现在 FreeBSD 2.2.6 中。cal 命令的输出应该与原始 Unix cal 命令逐位兼容,因为它的输出由其他程序(如 CGI 脚本)处理,这些程序不应被破坏。因此,即使只有 7 行包含数据,它也将始终输出 8 行。这个额外的空白行也出现在原始 cal 命令中,至少在 Solaris 8 上如此

相关内容