2012-05-31 49 views
4

我試圖從源碼創建Bochs。因此,我寫了一個配置腳本。我沒有從頭開始寫腳本 - 它基於Bochs tarball中的.conf.win32-vcpp sh腳本。並且導致問題的腳本部分是,原始 Nochs tarball 沒有任何變化 - 我沒有寫這部分。找到(1):「參數格式不正確」在CygWin下

我的問題:

每次我執行我的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 

*Parameterformat falsch意味着參數格式不正確

但我不需要執行大廳腳本。這擦片段是不夠的:

sh-4.1$ find -name Makefile 
FIND: Parameterformat falsch 

*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. 

- >當狗的葬:

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 

我的環境:

我不知道,如果它的事項,但我沒有使用正常的bash。我使用由cygwinsh命令(Win64)提供的shell。

謝謝。

+0

在你的測試中,你正在'find'和'-name'之間執行'find -name ...'而不用'.'。 –

+2

什麼*精確*是失敗的命令(帶或不帶'.')? 'type find'告訴你什麼? 'echo $ PATH'呢? –

+0

帶'.'且不帶'.'的命令都失敗。但是'因爲我在'找到。 -name Makefile \''(帶'.')是來自Bochs tarball的原始文件。 – fridojet

回答

10

確保您的Cygwin安裝包含findutils軟件包,並且Cygwin的find首先在您的PATH(本機Windows之前)中。

如果find --help返回FIND: Paramater format not correct(或您的本地化等效項),這是一個肯定的跡象,它是Windows的一個,而不是當前正在使用的Cygwin。

+0

謝謝。這正是我的問題。 – fridojet