gpt4 book ai didi

java - 检查 ProcessBuilder 的参数是否是有效的命令

转载 作者:行者123 更新时间:2023-12-02 07:17:50 24 4
gpt4 key购买 nike

我正在使用 Clojure 库来简化我的项目的子流程管理。它本质上以更 Clojuric 的方式包装了 Java 的 ProcessBuilder。我想做的一件事是捕获任何丢失的命令 - 也就是说,如果用户想要使用 this-command-not-found 作为 shell 命令,我的代码应该抛出异常.

不过,使用 ProcessBuilder 似乎很难或不可能做到这一点。我是否需要以某种方式获取用户的 $PATH 并在其中搜索以检查有效命令,或者是否有更好的方法?

编辑:这应该在不启动流程的情况下完成 - 请参阅下面的评论。

最佳答案

是的,当然有比搜索 $PATH 更好的方法:只需运行用户要求您运行的命令即可。使用 ProcessBuilder 或任何其他机制,不可能有更智能的解决方案,因为用户可以使用的 shell 集是开放式的,并且不需要他们的 shell 具有 $PATH 的概念供您搜索。你能做的就是尽力做用户想要的,如果发生错误让他们知道。

关于java - 检查 ProcessBuilder 的参数是否是有效的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14698359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com