【问题标题】:Command HEAD in Cygwin doesn't workCygwin 中的命令 HEAD 不起作用
【发布时间】:2018-06-04 15:34:10
【问题描述】:

我是一名 Windows 系统管理员,试图在 Windows 2016 环境中设置 Cygwin。不是 Linux 或开发人员,但我愿意学习。

我能够安装 Cygwin (x86/64) 并且大多数命令都可以正常工作。但是有 2 个命令不起作用:HEAD(前 10 行)和 WC(字数统计)。 TAIL、CAT CLEAR、PWD 是可以正常工作的命令。 HEAD & WC 不显示任何内容。用户需要这些命令才能工作,因为他正在处理巨大的文件。

我已经在笔记本电脑上试用了 Cygwin,每个命令都运行良好,包括 HEAD 和 CAT。

已尝试故障排除:

1) 以管理员身份运行 2) x86/x64 版本 = 相同的问题 3) 我已经将 PATH 环境变量设置为 F:\cygwin64

我需要帮助才能解决问题:

1) PATH:我是否需要以任何其他方式/设置将 Cygwin 软件的 PATH 指定到 Windows 操作系统?我需要在任何 cygwin 配置文件中为 cygwin 指定 PATH 吗?

2) 我在 Cygwin 桌面快捷方式“C:\cygwin64\bin\mintty /bin/bash -l”中尝试/设置了以下内容,但 shell 只显示几秒钟然后关闭。

3) 还有什么我可以继续的吗?

提前非常感谢

【问题讨论】:

  • strace /usr/bin/head 的输出是什么?它应该显示一个报告 dll 问题的消息框
  • 一个消息框弹出:“应用程序无法正确启动(0xc0000022)。单击确定关闭应用程序”之后,bash 状态:--- 进程 10584 已创建 --- 进程 10584在 00007ffa699d0000 加载(未知) --- 进程 10584 在 00007ffa682c0000 加载(未知) --- 进程 10584 在 00007ffa669f0000 加载(未知) --- 进程 10584 线程 17352 创建 --- 进程 10584 线程 4224 创建 --- 进程 10584 6012 以状态 0xc0000022 退出 --- 进程 10584 线程 4224 以状态 0xc0000022 退出 --- 进程 10584 以状态 0xc0000022 退出

标签: cygwin wc unix-head


【解决方案1】:

head 和 tail 属于同一个 coreutils 包 并且需要相同的共享库。

$ cygcheck -f /usr/bin/tail
coreutils-8.26-2

$ cygcheck -f /usr/bin/head
coreutils-8.26-2

$ cygcheck head
Found: E:\cygwin64\bin\head.exe
E:\cygwin64\bin\head.exe
  E:\cygwin64\bin\cygwin1.dll
    C:\Windows\system32\KERNEL32.dll
      C:\Windows\system32\API-MS-Win-Core-RtlSupport-L1-1-0.dll
      ....
  E:\cygwin64\bin\cygintl-8.dll
    E:\cygwin64\bin\cygiconv-2.dll

$ cygcheck tail 
Found: E:\cygwin64\bin\tail.exe
E:\cygwin64\bin\tail.exe
  E:\cygwin64\bin\cygwin1.dll
    C:\Windows\system32\KERNEL32.dll
      C:\Windows\system32\API-MS-Win-Core-RtlSupport-L1-1-0.dll
      ...
  E:\cygwin64\bin\cygintl-8.dll
    E:\cygwin64\bin\cygiconv-2.dll

如果一个有效而另一个无效,则可能存在 2 个问题:
.你搞砸了安装
.有东西在干扰 cygwin

你应该关注https://cygwin.com/problems.html 并将 cygcheck.out 提供给 cygwin 邮件列表,这更表明此处用于解决安装问题。

PS:
. Cygwin 中的二进制文件位于“C:\cygwin64\bin”下
.您可以只使用“-”调用 mintty 来调用登录 shell
.您将 C: 和 F: 报告为安装所在的磁盘

【讨论】:

  • 非常感谢 matzeri。将尝试您的指示。是的,我同时报告了 C: 和 F: 因为我在 Windows 服务器上安装了 32 位和 64 位,因为 64 位有 HEAD 和 WC 命令问题。这是 Cygwin.bat 文件的内容: @echo off F: chdir F:\tools\cygwin64\bin bash --login -i 如果我从exe文件或bat文件。如何使用登录选项“-”?以下是我在快捷方式上尝试过但不起作用的内容:“F:\tools\cygwin64\bin\mintty.exe -”
猜你喜欢
  • 2016-12-27
  • 2014-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
相关资源
最近更新 更多