src*_*der 3 ruby rake rakefile
使用ruby文件(或任何rake工具),我需要确定执行我的脚本的用户是否能够执行某些Shell命令。尤其是g ++等。希望与系统无关,因此,如果存在某些g ++。bat,g ++。exe或只是g ++(等),则只要在用户系统上的路径和可执行文件上都应该说是。
示例:如果用户具有该文件的无扩展名可执行文件版本和该文件的.cmd版本,则对于Linux系统上的no扩展名版本,应该说“是”,而对于Windows上的.cmd版本则应说“是”。系统。由于用户外壳程序只能执行该版本的文件。
这样做的目的是允许脚本进行自我配置(尽可能多)。
关于如何执行此操作的任何建议?
一种快速而肮脏的方法是简单地尝试通过system命令执行g ++ 并检查返回代码,例如:
def gpp_exists
return system("g++ --version")
end
Run Code Online (Sandbox Code Playgroud)
您必须采取一些技巧,以避免在控制台上获得不必要的输出(例如,基于正确的OS语法重定向stdout / stderr),但这并不能太糟。
| 归档时间: |
|
| 查看次数: |
2995 次 |
| 最近记录: |