我有幾個程序,而不是在Cygwin本機上安裝,我將使用cygstart + cygpath無縫地利用這些程序的Windows安裝代替。Bash腳本,可以無縫地調用Windows EXE,而無需調用每個文件名參數的cygpath
例子:Gedit的,顛覆1.6.1等
我們當然會只使用Cygwin的安裝程序到本地安裝這些......但是,我們有一些討厭的要求:
1)自定義前綴位置,例如GEdit的Cygport將安裝它在我們需要的/usr/bin/gedit.exe
而不是/common/web/bin/gedit.exe
。
2)我們需要一個不容易從任何cygwin存儲庫訪問的版本。
因此,我安裝Windows安裝程序版本的產品,然後創建一個bash腳本,透明地調用Windows程序。示例:/common/web/bin/gedit
是一個bash腳本,它將調用c:\apps\gedit\gedit.exe
問題是,您不能只在每個參數上運行cygpath -w
。你必須能夠只解析文件名參數。這基本上需要進入每個項目的源代碼,找到int main(int argc, char** argv)
,然後逆向工程如何解析每個文件名。
有沒有人做過這個?我很想看看你是如何用bash腳本或C++程序做的。
我不認爲你會找到一個完全一般的解決方案。你可以期望的最好的方法是針對你感興趣的特定實用程序的用例。問題變成:創建和維護這些腳本比除了安裝cygwin版本更難本地版本。 – antlersoft 2012-07-30 16:19:39
請參閱我自己的這個問題的答案。你是對的,我用它來解決問題。 – 2012-07-31 16:03:18