@(#)字符的含义

xde*_*000 5 java

在文档代码中,我看到一些这样的事情:

/*
 * @(#)File.java    1.142 09/04/01
Run Code Online (Sandbox Code Playgroud)

@(#)这样的字符是什么意思?

rsp*_*rsp 8

@(#)是Unix what命令用于从二进制文件中过滤字符串以列出用于构建该二进制文件的组件的字符串.例如,what java在AIX上产生:

java:
        23  1.4  src/bos/usr/ccs/lib/libpthreads/init.c, libpth, bos520 8/19/99 12:20:14
        61      1.14  src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos520 7/11/00 12:04:14
        src/tools/sov/java.c, tool, asdev, 20081128 1.83.1.36
        src/misc/sov/copyrght.c, core, asdev, 20081128 1.8
Run Code Online (Sandbox Code Playgroud)

而`字符串java | grep'@(#)'产量:

@(#)23  1.4  src/bos/usr/ccs/lib/libpthreads/init.c, libpth, bos520 8/19/99 12:20:14
@(#)61      1.14  src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos520 7/11/00 12:04:14
@(#)src/tools/sov/java.c, tool, asdev, 20081128 1.83.1.36
@(#)src/misc/sov/copyrght.c, core, asdev, 20081128 1.8
Run Code Online (Sandbox Code Playgroud)

@(#)被选为标记,因为它不会在其他地方出现,源代码控制系统通常会在同步时添加包含此标记的行和文件版本的描述,使用反映文件内容的值扩展关键字.举例来说,你列出的评论会扩大SCCS关键字的结果%Z% %M% %R%.%L% %E%,其中%Z%翻译成@(#).