首页 > Unity3D频道 > 【你好Unity3D】 > #你好Unity3D#解决Unity不能调用shell脚本传递参数的问题(来自我的长微博)
2014
06-17

#你好Unity3D#解决Unity不能调用shell脚本传递参数的问题(来自我的长微博)

我想通过C#调用shell脚本,单纯的执行脚本没有任何问题,但是如果你要给shell脚本传递参数,那么死活传不进去。我找了好多资料,网上有人有是mono的bug..不过还是要感谢微博上好友 @程序员达达 告诉了我一个方法。

我的代码是这样的,我可以顺利的打开terrminal 也可以调用shell脚本,但是参数就是传递不进去。

 解决的办法是,不用terrminal去执行shell。因为不用terrmainal 就看不到echo的输出了,为了验证正确性,我用shell脚本来给指定路径下的一个文件写入内容。。

 

shell脚本很简单, 就是把参数1 写入 到参数2 路径下的文件里。

 

 如下图所示,我把shell传入的参数顺利的写到了test.log文本里。。 

#你好Unity3D#解决Unity不能调用shell脚本传递参数的问题(来自我的长微博) - 雨松MOMO程序研究院 - 1

最好还是要感谢微博上的那位同学,希望大家关注我的微博,互相学习吧嘿嘿。。

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. 我使用直接打开Terminal方式可以执行sh文件或者command文件,但是参数传递不过去,
    使用 Process.Start(“/bin/bash”, argss); 方式则sh文件不会执行到,求教:是否是我的bash安装目录不在bin下导致?

  2. 有一个问题,如何在shell中通知unity,也就是例如shell执行结束之后如何触发unity脚本中的事件。我之前研究了OutputDataReceived委托,但好像没有办法触发了