便攜式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)匹配。