便携式OpenBSD ksh(1) 。不是官方的OpenBSD项目。
因为所有操作系统都应该得到一个好的外壳。
与其他OpenBSD KSH的其他端口不同,该端口完全是独立的,旨在在操作系统和C编译器之间最大程度地便携。我们一直在寻找新组合以增加支持。
众所周知, oksh会在以下操作系统上运行:
在此处未列出的系统上运行?添加并发送拉动请求!
我们认为oksh将在以下平台上工作,但需要进行测试。帮助并鼓励帮助!
众所周知, oksh将使用以下C编译器构建:
用编译器构建在这里没有列出?添加并发送拉动请求!
oksh包含在某些软件包系统中。
此外,还有一些非正式的套餐:
使用此处未列出的软件包?添加并发送拉动请求!
C99编译器是确保oksh正确构建的最简单方法。请参阅上面的C编译器列表以获取已知工作编译器的列表。
尽管不需要,但如果在configure阶段找到库,则ncurses库将用于屏幕清除例程。用户可以通过传递--disable-curses标志进行configure来关闭这一点。
提供了生成POSIX Makefile的configure脚本以简化建筑和安装,可以通过:
$ ./configure
$ make && sudo make install
如果您愿意构建不合格, configure脚本将检测到树外构建。为了使此功能可行,使用了扩展VPATH 。虽然不是Posix,但众所周知, VPATH可以与BSD Make和GNU Make一起使用。树木构建创建一个完全的Posix Makefile 。
可以通过运行configure来实现交叉编译如下:
CC=/path/to/cross/cc CFLAGS="any needed cflags" LDFLAGS="any needed ldflags" ./configure --no-thanks
这将跳过所有configure检查,并写出通用的Makefile和pconfig.h ,几乎没有任何选择。如果使用交叉GCC或CLANG,则可以很好地起作用(所有兼容)。您可以在make之前编辑这些文件以反映系统。
使用--no-thanks时,所有环境变量和配置标志都将受到尊重。进一步指定--no-link之后--no-thanks只会将源文件编译到对象文件中,并将其传输到目标计算机上并链接到那里。
--no-thanks标志也可以用来编译本机oksh ,其中包含所有兼容性函数,而不是依靠系统版本的这些函数。
始终欢迎增加新平台并改善对现有平台的支持的补丁。
使oksh偏离上游OpenBSD KSH行为的补丁更适合发送到OpenBSD Tech@ Mailing列表。在将其提交给Tech@之前,请先确保先在OpenBSD机器上测试您的补丁程序。接受补丁后,我将与上游OpenBSD代码同步。如果您想在此处打开一个问题,以跟踪Tech@上的补丁程序的进度,那很好。
主要的Korn Shell文件是公共域(请参阅LEGAL )。可移植性文件为BSD或ISC许可;有关详细信息,请参见各个文件标头。
请参阅发行选项卡。最新版本是OKSH-7.5,它与2024年4月5日发布的OpenBSD 7.5的KSH(1)匹配。