运行Rust程序而不运行货物
我构建了一个用Rust编写的简单CLI,它通过命令运行Rust程序而不运行货物,rust,command-line-interface,Rust,Command Line Interface,我构建了一个用Rust编写的简单CLI,它通过命令cargo run执行。我希望能够从任何目录运行CLI。我使用了clap板条箱,希望能够使用传递给clap的名称调用脚本:brainfast。我正在运行macOS 这更像是一个普通问题(我也认为是重复的,但我找不到) 您必须将由cargo build--release生成的可执行文件(您可以在target/release/crater\u name中找到)复制到$PATH中的文件夹中 我不是macOS方面的专家,因此我无法告诉您$PATH中包含的
cargo run
执行。我希望能够从任何目录运行CLI。我使用了clap板条箱,希望能够使用传递给clap的名称调用脚本:brainfast
。我正在运行macOS 这更像是一个普通问题(我也认为是重复的,但我找不到)
您必须将由cargo build--release
生成的可执行文件(您可以在target/release/
crater\u name
中找到)复制到$PATH
中的文件夹中
我不是macOS方面的专家,因此我无法告诉您$PATH
中包含的文件夹是什么,但您可以通过打开终端并键入echo$PATH
来找到它。使用其中一条路径,该路径应在您的航站楼中可用,无需货物或使用任何路径
或者,您可以将文件夹添加到$PATH
变量中,并将其放在那里,例如:
导出路径/home/foobar/.bin:$PATH
cp target/release/brainfast/home/foobar/.bin
brainfast abc.txt 1 3 99 u
将任何随机文件夹设置到$PATH(某些恶意应用程序可能会利用它)不是最好的方法。你能举个例子吗?您可以始终将完整路径用作恶意应用程序,那么为什么要依赖$path?@hellow如果目录(或任何父目录)可由不同的用户写入,而不是将其添加到其路径的用户写入,则会出现安全问题。如果您将自己的权限限制为几个专用目录,则更容易跟踪权限。