通过阅读这个帖子,看起来可以使用shebang来运行Rust*.
#!/usr/bin/env rustc
fn main() {
println!("Hello World!");
}
Run Code Online (Sandbox Code Playgroud)
使这个可执行文件运行并编译,但不运行代码.
chmod +x hello_world.rs
./hello_world.rs
Run Code Online (Sandbox Code Playgroud)
但是这只会将代码编译成hello_world.
可以*.rs文件可以直接执行,类似于一个shell脚本?
*这引用了rustx,我查看了这个,但是它是一个bash脚本,每次都编译脚本(没有缓存)并且永远不会从temp目录中删除文件,尽管这可以改进.它也有很大的局限性,它不能使用板条箱.
DK.*_*DK. 15
有cargo-script.这也允许您使用依赖项.
安装cargo-scriptvia后cargo install cargo-script,您可以hello.rs像这样创建脚本文件():
#!/usr/bin/env run-cargo-script
fn main() {
println!("Hello World!");
}
Run Code Online (Sandbox Code Playgroud)
要执行它,您需要:
$ chmod +x hello.rs
$ ./hello.rs
Compiling hello v0.1.0 (file://~/.cargo/.cargo/script-cache/file-hello-d746fc676c0590b)
Finished release [optimized] target(s) in 0.80 secs
Hello World!
Run Code Online (Sandbox Code Playgroud)
要使用crates.io中的crates,请参阅上面链接的README中的教程.
这似乎有效:
#!/bin/sh
//usr/bin/env rustc $0 -o a.out && ./a.out && rm ./a.out ; exit
fn main() {
println!("Hello World!");
}
Run Code Online (Sandbox Code Playgroud)