gpt4 book ai didi

windows - 无法在 Cygwin 中将 shell 脚本作为 KornShell 脚本执行

转载 作者:可可西里 更新时间:2023-11-01 10:00:12 24 4
gpt4 key购买 nike

我很少接触 shell 脚本,我们有另一个部门在写它们,所以我对编写它们有了解,但没有经验。然而,它们对我的问题都显得毫无用处。

我正在尝试使用 Cygwin 在基于 Windows 的机器上执行一些 KornShell (ksh) 脚本 - 我们使用这些脚本来启动我们的 Oracle WebLogic 服务器,现在它根本不会执行。我曾经能够在我的旧机器上很好地执行这些完全相同的脚本。

现在我已经将范围缩小到“魔数(Magic Number)”或脚本开头指定脚本解释器路径的任何内容:

即:

#!/bin/ksh

如果我将其更改为作为简单的 bash 执行,它会起作用,即:

#!/bin/sh

我检查了为 cygwin 安装的包 - 现在我安装的 shell 是:

  • mksh MirdBSD KornShell
  • bash bourne shell
  • zsh z shell

我应该在我的 cygwin/bin 目录中看到一个 ksh.exe 吗?有一个系统文件“ksh”,我假设它以某种方式将它与其他 shell exe 之一相关联,例如 mksh.exe

我知道我的解释很可能是无稽之谈。但话虽如此,我们将不胜感激任何帮助。

谢谢。

最佳答案

我相信 MirBSD korn shell 叫做 mksh。您可以通过键入验证这一点并查找正确的路径

% which mksh
% which ksh

或者如果你没有which

% type -p mksh
% type -p ksh

或者如果也失败了,检查 /etc/shells 应该列出系统上所有有效的 shell:

% grep ksh /etc/shells

您需要将完整路径放在 #! 行之后。它可能是 /bin/mksh,因此您的行需要如下所示:

#!/bin/mksh

关于windows - 无法在 Cygwin 中将 shell 脚本作为 KornShell 脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14520875/

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