gpt4 book ai didi

shell - 用于 Windows 7 的 Korn-Shell?

转载 作者:行者123 更新时间:2023-12-05 00:41:19 25 4
gpt4 key购买 nike

我们需要支持提供 Unix 和 Win32 端口的旧版应用程序。不幸的是,在游戏后期,大量的胶水代码是用ksh脚本编写的,只针对unix端口,Win32端口失去了奇偶校验。我一直在尝试恢复它,并且我一直在尝试一些 ksh-for-windows 解决方案(Zsh 的 native 构建过去曾经工作过),但在 Windows 7 下似乎没有任何工作正常:Cygwin 拒绝使用Win32 和 unix 风格的路径,所以一些复杂的脚本会中断。 SUA/SFU 的情况相同。 UWin 不适用于 Windows 7。我曾经使用的较旧的本地端口 (WinZsh) 在 7 下也不再适用。

所以,我需要一个类似 Korn-shell 的工作方式,它可以在 Win 7 下工作(64 位会很棒,但我已经失去了希望)并且可以与 cmd.exe 风格的路径一起工作(c:/path/to/app) 和标准 Unix 路径 (/path/to/app)。有什么线索吗?

最佳答案

Cygwin 幸运地用 mksh 替换了 pdksh(自 1999 年以来已失效)。然而,mksh 将*不*支持非 POSIX 路径,因为它主要是一个 BSD Unix shell,并且它的优势之一是在所有平台上工作相同。

话虽如此,还有dos2unixpathunix2dospath (IIRC) 在 Interix 中。也许你可以使用它们。

像这样的事情甚至可能有效:

function dos2unixpath {
local _x=$1
[[ $_x = [A-Za-z]:[\\/]* ]] && _x=/dev/fs/${_x::1}/${_x:3}
print -r -- "${_x//\\//}"
}

这将转换 x:\foo\bar/dev/fs/x/foo/bar , ..\bla../bla ,剩下的就别管了。

关于shell - 用于 Windows 7 的 Korn-Shell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3068585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com