适用于 Windows 7 的 Korn-Shell?

2023-12-23

我们需要支持提供 Unix 和 Win32 端口的旧版应用程序。不幸的是,在游戏后期,很多粘合代码都是用 ksh 脚本编写的,仅适用于 unix 端口,而 Win32 端口已经失去了奇偶校验。我一直在尝试恢复它,并且一直在尝试一些 ksh-for-windows 解决方案(过去曾使用过 Zsh 的本机构建),但在 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 年以来已停止使用)。然而,MKSHwill*不*支持非 POSIX 路径,因为它主要是 BSD Unix shell,其优点之一是在所有平台上都可以相同地工作。

话虽这么说,有dos2unixpath and unix2dospath(IIRC) 在 Interix 中。也许你可以使用它们。

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

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

这转换x:\foo\bar to /dev/fs/x/foo/bar, ..\bla to ../bla,并留下其余部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

适用于 Windows 7 的 Korn-Shell? 的相关文章

  • adb shell 输入带有空格的文本

    如何发送带有空格的文本 例如 一些文字 using adb shell input text 找到以下解决方案 adb shell input text some stext 工作正常 但是有什么简单的方法可以用 s 替换空格吗 Examp
  • 在 bash 中,如何除以两个变量并输出四舍五入到小数点后 5 位的答案? [复制]

    这个问题在这里已经有答案了 我将两个变量作为输入 将它们相除后 我希望将输出四舍五入到小数点后 5 位 我已经尝试过这种方法 gt sum 12 n 7 output scale 5 sum n bc echo output 我的代码没有显
  • Bash 的源命令无法处理从互联网上卷曲的文件

    我正在尝试使用curl从互联网获取脚本文件 如下所示 source lt curl url echo done 我看到的是 完成 得到了回响before卷曲甚至开始下载文件 这是实际的命令和输出 bash 3 2 source lt cur
  • 将 SWI Prolog 代码编译为 Windows 可执行文件 - 解析器 Grails3 项目

    我正在尝试构建解析器 Grails3 项目https github com RichardMoot Grail https github com RichardMoot Grail谁的教程是http www labri fr perso m
  • sed 和 rev shell 命令转换为 Python 脚本 [重复]

    这个问题在这里已经有答案了 有一个shell命令 我正在尝试将逻辑转换为python 但我不知道该怎么办 我需要一些帮助 shell命令是这样的 cd tests src main test ls find name vrlp while
  • tcsh 脚本 if 语句

    我需要循环遍历一堆不同的场景 变量场景 但无法弄清楚如何在 tcsh shell 脚本中使用 if 语句 收到错误 if 表达式语法 有人可以告诉我我有什么问题吗 简化代码如下 谢谢 bin tcsh f set val 0 foreach
  • 如何使用 nohup 获取正在运行的程序列表

    我正在通过 SSH 连接访问运行 CentOS linux 发行版 的服务器 由于我无法始终保持登录状态 因此我使用 nohup command 来运行我的程序 我找不到如何获取我开始使用 nohup 的所有程序的列表 工作 只有在我注销之
  • 无法从 bash 脚本使用 nvm

    我正在尝试编写一个 shell 脚本来自动设置我的开发环境 安装 python nvm node mongo 等 我正在使用 nvm 来安装 Node js 它告诉您关闭并重新打开终端以开始使用 nmv 命令 我尝试获取 bashrc 和
  • 如何将命令输出作为多个参数传递给另一个命令

    我想将命令的每个输出作为多个参数传递给第二个命令 例如 grep pattern input returns file1 file2 file3 我想复制这些输出 例如 cp file1 file1 bac cp file2 file2 b
  • 通过 Node.js 运行 bash 脚本 - 非法选项 -o pipelinefail

    我正在尝试使用 Node js 执行 bash 脚本child process exec 然而它在文件的第二行爆炸 usr bin env bash set eo pipefail TRACE set x echo we are here
  • Bash 目录上的 For 循环

    快速背景 ls src file1 file2 dir1 dir2 dir3 Script bin bash for i in src do if d i then echo i fi done Output src dir1 src di
  • python gcc编译错误

    我知道 gcc 上有很多线程 特别是 command gcc failed with exit status 1 我已经查看了所有线程 但仍然无法解决此问题 我只会使用 gcc 或 mingw32 来执行与 python 相关的任务 例如使
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 要让 DDD 在 XP 上正常运行,Cygwin 的最低安装量是多少?

    我在 Windows XP 上使用 Strawberry Perl 附带的 MinGW 中的 gcc 我想要ddd http www gnu org software ddd 数据显示调试器 也是如此 但显然在 Windows 上获得 dd
  • 如何使用 Perl 在 Unix 中获取文件创建时间

    如何使用 perl 在 unix 中获取文件创建时间 我有这个命令显示文件的最后修改时间 perl MPOSIX le print strftime d b Y H M localtime lstat 9 for ARGV file txt
  • Bash shell 读取错误:0:资源暂时不可用

    编写 bash 脚本时 有时你运行的命令会打开另一个程序 例如 npm composer 等 但同时你需要使用read以提示用户 你不可避免地会遇到这种错误 read read error 0 Resource temporarily un
  • bash.sh 运行 cron 的权限被拒绝

    如何在这里使用 bash 脚本运行 cron 我做了如下操作 这里有错误 我想知道如何在 ubuntu 中做到这一点 我现在对它感到震惊 bash sh 文件 bin bash cd var www Controller usr bin p
  • 终止 ssh 会话会终止正在运行的进程

    我正在使用 ssh 连接到我的 ubuntu 服务器 我使用命令启动编码程序 然而 似乎当我的 ssh 会话关闭时 因为我在进入睡眠状态的笔记本电脑上启动它 有没有办法避免这种情况 当然 阻止我的笔记本电脑休眠并不是永久的解决方案 运行你的
  • 如何使用本机 C++ 检查进程是否在 Windows 7 中具有提升的权限?

    如何检查进程在 Windows 7 中是否具有提升的权限 使用本机 C 而不是 C C net 我有时一直在寻找答案 但我只能找到使用 NET 框架的答案 最简单的方法是调用 IsUserAnAdmin 函数 如果您需要更高的精度 您也可以

随机推荐

  • 修改 LESS 变量的 alpha 不透明度

    使用 LESS 我知道我可以更改颜色变量的饱和度或色调 看起来像这样 background lighten blue 20 不过 我想改变颜色的 alpha 不透明度 最好是这样的 background alpha blue 20 有没有一
  • SQL:如何将视图与表连接?

    UPDATED 我正在使用 MySQL 语句创建视图 如果编辑寄出的图书超过 50 本书 我需要显示他们的名字 姓氏和城市 我的三张表是 create table editors ed id char 11 ed lname varchar
  • 禁用 VS Code 中的特定编译器警告

    我想知道如何抑制 VS Code 中的特定编译器警告对于整个项目 我见过这个问题 是否可以禁用特定的编译器警告 https stackoverflow com questions 22536518 is it possible to dis
  • 如何使用 CultureInfo 格式化已弃用的货币?

    在 dotnet 中 以特定于文化的方式格式化货币的推荐方法是 据我所知 using System Globalization var info CultureInfo GetCultureInfo en GB return string
  • 节点组的位置在 SCNNode.runAction 开始时重置

    我有一些代码 当点击屏幕时 它会围绕 x 轴旋转多个 SCNNode 如下所示 func handleTap gestureRecognize UIGestureRecognizer let sceneView self view as S
  • 光栅图像似乎使用 R 的传单进行了移动

    我想使用 R 中的 leaflet 包绘制一些空间数据 但是生成的光栅图像与参考网格相比似乎发生了偏移 我怀疑地图投影问题 但我不是该主题的专家 因此任何帮助将不胜感激 这是绘制地图的最小代码 library leaflet library
  • 如何删除临时消息

    我正在尝试找出一种机制 将临时消息发布给用户 然后将其删除并替换为所有人都可见的消息 与 giphy 类似的行为 其中 Slash 命令显示交互式临时消息 并在用户决定发送哪个 gif 后创建频道消息 我也对更新临时消息感到好奇 我认为如果
  • Bootstrap 5 带有 html 内容的弹出窗口

    我试图将 bootstrap5 弹出窗口内容与 HTML 属性分开 就像对其他组件所做的那样 但我无法让它工作 var popoverTriggerList slice call document querySelectorAll data
  • Java 将 XML 文档渲染为 PDF

    我有一个 XML 文档 当前存储为内存字符串 并且希望将其呈现为 PDF 换句话说 PDF 内容将是 XML 文档 该方法呈现的 XML 是通用的 可能会发送多种类型的 XML 文档 我在弄清楚如何使用各种基于 Java 的框架来完成任务时
  • iPhone 5s 扬声器模式下的 iOS 7 机器人/乱码

    我们有一个 VOIP 应用程序 可以录制和播放音频 因此 我们使用 PlayAndRecord kAudioSessionCategory PlayAndRecord 音频会话类别 到目前为止 我们已成功地将其用于运行 iOS 6 和 iO
  • IE8 和 VS2008:如何禁用脚本调试?

    IE8 已经出来了 显然 每当您在调试模式下启动项目时 它都会自动打开脚本 JavaScript 调试 有谁知道如何关闭此功能 我搜索了 IE8 VS2008 设置 但没有看到任何内容 Edit 您不能只进入 Internet 选项并禁用调
  • 使用 System.Runtime.Caching,但是当我去检索它时,它是空的?

    我有一个 C WPF 应用程序 我正在尝试使用新的 System Runtime Caching 来实现缓存 当我向缓存中添加某些内容时 我会检查它并确认它确实存在 但是 当我重新启动应用程序时 它就从缓存中消失了 因此 在下面的示例中 输
  • 使用 ASIHTTPRequest 从 iOS 上传图像

    我的应用程序在注册时上传图像和用户 电子邮件 通行证 iOS 到 php 到 mySQL 电子邮件 用户 密码和图像名称都可以很好地保存到数据库中 它只是未上传到服务器上的文件夹的图像 所以这只是我的代码的一部分失败了 但是有人能看到哪里吗
  • HTTP 补丁 XmlHttpRequest 支持

    我正在开发一些待办事项应用程序 并希望使用 HTTP 方法 PATCH 来添加和删除待办事项 因为这在语义上比 PUT 更好 在后端我使用express js node js 在前端backbone js 使用jQuery进行ajax 我已
  • 当书签拖到工具栏时如何设置网站图标/图标?

    我为自己制作了一个小书签 它的功能很好 但当添加到 Opera 或 Firefox 的工具栏时 它只是呈现浏览器的默认书签图标 分别为地球仪和星星 我的网站有一个网站图标 窗口 选项卡甚至 网站 书签都使用我指定的网站图标 只是不是我的书签
  • 将 git repo 中的所有文件转换为 LF 行结尾的最简单方法是什么

    所以我有一个旧的仓库 有很多文件 有些是 CRLF 有些是 LF 我想要 1 将所有文件更改为 LF 我使用 dos2unix 来转换我的文件 但 git commit 忽略这些更改 我还将 git config global core a
  • 重新加载发布到 Github 页面的 Vue 网站时出现 404

    我已经部署了我的内容 distmaster 分支中的文件夹christopherkade github io 它已经部署了我的website https christopherkade com 成功了 但是当我使用导航栏导航时 christ
  • char **p,char *p[],char p[][] 之间的区别

    char p some string 创建一个指针 p 指向包含该字符串的块 char p some string 创建一个字符数组并在其中包含文字 第一个是常量声明 和二维数组一样吗 有什么区别 char p char p char p
  • 警告:函数“kill”的隐式声明

    我正在制作这些内容 include
  • 适用于 Windows 7 的 Korn-Shell?

    我们需要支持提供 Unix 和 Win32 端口的旧版应用程序 不幸的是 在游戏后期 很多粘合代码都是用 ksh 脚本编写的 仅适用于 unix 端口 而 Win32 端口已经失去了奇偶校验 我一直在尝试恢复它 并且一直在尝试一些 ksh