使用Ruby on Rails的我正在開發使用Ruby on Rails的Web應用程序和一個Linux(Ubuntu的)服務器上運行它。我的後端處理基於Windows .bat文件,該文件基於約5個參數列表調用其他.bat文件的網絡。運行Windows批處理文件通過葡萄酒在Linux中
所以基本上,我試圖通過調用酒命令行的喜好初始批處理文件在我的Rails應用程序。
例如,這類似於我用來在Ubuntu終端成功運行代碼:
wine cmd.exe /C InitialCallFile.bat Directory/Input.xml Directory/Output.xml param1 param2
我試圖在Ruby中的系統和%x的命令來調用它。例如:
System "wine cmd.exe /C InitialCallFile.bat self.infile self.outfile self.param1 self.param2"
system wine cmd.exe InitialCallFile.bat [self.infile, self.outfile, self.param1, self.param2]
%x[wine cmd.exe /C InitialCallFile.bat self.infile self.outfile self.param1 self.param2]
和其他類似的變化
然而,該方案不承認cmd,然後回來與錯誤: 未定義的局部變量或方法'加利福尼亞」
我應該如何使用Ruby on Rails正確調用葡萄酒中的應用程序?
在Ubuntu服務器上調用運行在Wine下的批處理文件聽起來不是一個好主意。也許你應該將這些批處理文件重寫爲shell或Ruby腳本? – Blender
由於成本差異,我被Ubuntu服務器卡住了。我考慮重寫批處理文件,但是其中有相當數量的文件,並且需要一些不重要的工作量。因此,如果有方法通過Ubuntu上的Wine調用它們(即使它可能不是最好的設計),那麼現在可以作爲一個快速修復。然後,我可以回去,並在一段時間內轉換它們 – user2238231
我會將bat文件轉換爲sh語法 –