我使用的是获得在bash一个奇怪的错误:${string:offset:length}。
3 月中旬的第五行输出错误:
$ substring_test.sh
March 2018
Su Mo Tu We Th Fr Sa
1 2 3 T= T= T= T= T= 1 T= 2 T= 3
4 5 6 7 8 9 10 T= 4 T= 5 T= 6 T= 7 T= 8 T= 9 T=10
11 12 13 14 15 16 17 T= T= T= 1 T= 1 T= 1 T= 1 T= 1
18 19 20 21 22 23 24 T=18 T=19 T=20 T=21 T=22 T=23 T=24
25 26 27 28 29 30 31 T=25 T=26 T=27 T=28 T=29 T=30 T=31
T= T= T= T= T= T= T=
Run Code Online (Sandbox Code Playgroud)
它显示:
T= T= T= 1 T= 1 T= 1 T= 1 T= 1
Run Code Online (Sandbox Code Playgroud)
但它应该显示:
T=11 T=12 T=13 T=14 T=15 T=16 T=17
Run Code Online (Sandbox Code Playgroud)
代码非常简单:
$ substring_test.sh
March 2018
Su Mo Tu We Th Fr Sa
1 2 3 T= T= T= T= T= 1 T= 2 T= 3
4 5 6 7 8 9 10 T= 4 T= 5 T= 6 T= 7 T= 8 T= 9 T=10
11 12 13 14 15 16 17 T= T= T= 1 T= 1 T= 1 T= 1 T= 1
18 19 20 21 22 23 24 T=18 T=19 T=20 T=21 T=22 T=23 T=24
25 26 27 28 29 30 31 T=25 T=26 T=27 T=28 T=29 T=30 T=31
T= T= T= T= T= T= T=
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我正确的方向吗?
cal -h在Ubuntu 18.04 LTS于 2018 年 4 月 28 日发布和测试之前,应用下面推荐的修复工作正常。现在使用@Steve H 推荐的修复:
有些人对代码的作用感到好奇,所以我提供了上面的屏幕截图。其他人要求提供完整代码,可在此处获得:如何获得此终端启动画面?
您的问题是cal已经突出显示了当天,并且控制代码正在丢弃偏移量
/tmp/terminal在十六进制编辑器中查看。今天(11 号)是:5F 08 31 5F 08 31,而不是31 31
用于cal -h关闭今天日期的自动突出显示。