我是shell编程的新手,我正在研究ubuntu上的env
命令。
我正在检查GNU manpage上的env
命令,env
上似乎有两个版本的文档
所以我只是想知道,为什么同一个命令有两个版本?他们两个有什么区别?
我刚开始学习shell,这给我带来了很多困惑。
答案 0 :(得分:1)
同一命令的不同版本存在并不罕见,例如在不同的操作系统上。在这种情况下,您已找到POSIX env以及coreutils env的手册页。
POSIX是关于Unix风格的操作系统应该如何表现的联合规范。它包含许多接口,例如带有线程和时钟的实时库,带有标准库的C编程语言等等。在这种情况下,它指定了env命令应该如何表现的基线。
coreutils是一个GNU包,包含一组被认为是"核心"到操作系统。在GNU系统(如GNU / Linux)上,这很可能是实现env命令的。它有自己的文档,因此它不依赖于POSIX之类的单独文档,并记录标准的任何扩展和差异。
在这种情况下,GNU coreutils env有一些POSIX coreutils中不存在的开关,例如取消设置特定变量和输出NUL分隔列表。
答案 1 :(得分:0)
一个手册页与您正在使用的env shell命令相关,另一个与env的编程库相关,如env.h。