Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行Rust程序而不运行货物_Rust_Command Line Interface - Fatal编程技术网

运行Rust程序而不运行货物

运行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中包含的

我构建了一个用Rust编写的简单CLI,它通过命令
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如果目录(或任何父目录)可由不同的用户写入,而不是将其添加到其路径的用户写入,则会出现安全问题。如果您将自己的权限限制为几个专用目录,则更容易跟踪权限。