找到(1):CygWin下的"参数格式不正确"

fri*_*jet 4 bash shell command-line cygwin

我正试图从源头建立Bochs.因此,我写了一个配置脚本.我没有从头开始编写脚本 - 它基于.conf.win32-vcppBochs tarball中的 sh脚本.导致问题的脚本部分是原始的 Nochs tarball,没有任何改变 - 我没有写那部分.

我的问题:

每次执行我的sh脚本时,都会发生以下错误:

[...]
config.status: creating host/linux/pcidev/Makefile
config.status: creating config.h
config.status: creating ltdlconf.h
config.status: ltdlconf.h is unchanged
FIND: Parameterformat falsch
Run Code Online (Sandbox Code Playgroud)

*(Parameterformat falsch表示参数格式不正确)

但我不需要执行大厅脚本.那个rub片段就足够了:

sh-4.1$ find -name Makefile
FIND: Parameterformat falsch
Run Code Online (Sandbox Code Playgroud)

*(Parameterformat falsch表示参数格式不正确)

我的问题:

  • 什么是错的脚本片段:find . -name Makefile?任何的想法?
  • 如何重写代码的这一部分才能使其正常工作?

我的剧本:

#!/bin/sh

set echo

./configure --target=pentium-windows \
            --enable-sb16 \
            --enable-ne2000 \
            --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-pci \
            --enable-clgd54xx \
            --enable-usb \
            --enable-usb-ohci \
            --enable-show-ips \
            --enable-disasm \
            --enable-iodebug \
            --enable-logging \
            --enable-debugger-gui \
            --disable-readline \
            --without-x \
            --with-win32 \
            --with-rfb \
            --with-nogui \
            --with-wx

unset echo

# Fix up all makefiles so that nmake can handle them.
Run Code Online (Sandbox Code Playgroud)

- > 狗被埋的地方:

for i in `find . -name Makefile`; do
  echo Removing curly brackets in $i for NMAKE.
  mv $i $i.tmp
  sed -e 's/{/(/g' -e 's/}/)/g' < $i.tmp > $i
  rm -f $i.tmp
done
Run Code Online (Sandbox Code Playgroud)

我的环境:

我不知道这是否重要,但我没有使用普通的bash.我用通过设置在壳的cygwinsh命令(Win64的).

谢谢.

Cha*_*ffy 10

确保您的Cygwin安装包含该findutils软件包,并且Cygwin find是您的第一个PATH(在本机Windows之前).

如果find --help返回FIND: Paramater format not correct(或您的本地化等效项),这是一个肯定的迹象,它是Windows,而不是当前正在使用的Cygwin.