我正在尝试在MINIX 3.2.1中修改cat
命令,但遇到一些问题。我想添加-H
标志,以便在使用它时,在文件名之前打印文件名。我在cat.c中添加了一些代码(指的是原始行的编号):
第64行(Hflag
变量):
int Hflag, bflag, eflag, fflag, lflag, nflag, sflag, tflag, vflag;
第85行(“ H”格):
case 'H':
Hflag = 1;
break;
case 'b':
第130行(Hflag参数):
if (Hflag || bflag || eflag || nflag || sflag || tflag || vflag)
第142行(添加了fprintf
,以确保确实将cat.c
添加到重新编译的MINIX中)
fprintf(stdout, "new line\n");
FILE *fp;
第157行(应打印文件名的行):
fprintf(stdout, "%s\n", *argv);
filename = *argv++;
问题在于重新编译后(make build
中的/usr/src
),cat
似乎无法识别新的-H
标志。如果我输入
# cat -H .exrc
我明白了
cat: unknown option -- H
但是,如果我键入
# cat -b .exrc
I get
new line
.exrc
1 set autoindent autowrite report=2 showmatch
所以cat
实际上已经改变了,因为我得到了“ new line”行以及“ .exrc”行(看起来我应该把它放在if
条件中,但是无论如何),但是-H
无法识别。
我做错了什么?我实际上该怎么做才能添加新标志?预先感谢。
答案 0 :(得分:6)
由于Minix中的creatHttpServer()
使用了vertx
,因此您还需要在 import os
parts = os.path.splitext(__name__)
module_name = parts[len(parts) - 2]
调用中添加一个新选项(其中列出了所有可能的选项)。
您提供的代码无法执行此操作。您也可以咨询cat
。