从 Scala 程序调用 bash 脚本(在 windows 中)
call a bash script from a scala program ( in windows )
我有一个 bash 脚本叫做测试(我做了一个简单的测试)
#!/bin/sh
echo "Hello world"
我尝试以多种方式从一个简单的 Scala 程序中调用它:
1 ) "C:\Users\me\project\myProject\scripts\test.bash"!!
and I got this: error CreateProcess error=193, %1 is not a valid Win32 application
我在互联网上发现我应该添加 bash.exe 的路径,因为我在 windows
所以我做了这个:
val p = Process("C:\Users\me\DevTools\cmder\vendor\git-for-windows\bin\bash.exe C:\Users\me\project\myProject\scripts\test.bash")
我没有错误,
但我不知道它是否有效,事实上我是这样做的
print(p.run().toString)
它给出了一个“UNDIFNED”
我的问题:如何调用脚本?以及如何操作结果:我想测试输出。
谢谢
找到解决方案
val commandLine: String = " path_to\bash.exe path_to\script.bash"
val result= Process(commandLine).lineStream
然后你可以操纵你的结果,对于我的案例,我测试它应该包含一个预期的字符串..
我有一个 bash 脚本叫做测试(我做了一个简单的测试)
#!/bin/sh
echo "Hello world"
我尝试以多种方式从一个简单的 Scala 程序中调用它:
1 ) "C:\Users\me\project\myProject\scripts\test.bash"!!
and I got this: error CreateProcess error=193, %1 is not a valid Win32 application
我在互联网上发现我应该添加 bash.exe 的路径,因为我在 windows 所以我做了这个:
val p = Process("C:\Users\me\DevTools\cmder\vendor\git-for-windows\bin\bash.exe C:\Users\me\project\myProject\scripts\test.bash")
我没有错误, 但我不知道它是否有效,事实上我是这样做的
print(p.run().toString)
它给出了一个“UNDIFNED”
我的问题:如何调用脚本?以及如何操作结果:我想测试输出。 谢谢
找到解决方案
val commandLine: String = " path_to\bash.exe path_to\script.bash"
val result= Process(commandLine).lineStream
然后你可以操纵你的结果,对于我的案例,我测试它应该包含一个预期的字符串..