2 个版本
0.1.1 | 2020年8月10日 |
---|---|
0.1.0 | 2020年8月10日 |
#624 in 编程语言
5KB
51 行
cexe 解释器
这是一个当您无法使用真实解释器时使用的 #!
解释器。
您可以使用 cexe
来运行任意 /bin/sh
脚本来启动您的程序。这允许您进行额外的设置,调用编译器,或执行任何其他可能需要的操作来实际解释您的文件。
#! /usr/bin/env cexe
# export A="An Environment Variable"
# exec nix run -f '<nixpkgs>' pkgs.python3 -c python3 "$0" "$@"
import sys;
import os;
print("Welcome to Python!")
print(os.getenv("A"))
print(sys.argv)
您只需放置一个注释块(每个行都有一致的优先级),包含要运行的 shell 脚本来启动程序。该脚本将文件作为 $0
参数传递,之后的参数就像常规的 shell 脚本一样。脚本一直运行到第一个非前缀行。
#! /usr/bin/env cexe
// tmp="$(mktemp -d)"
// rustc -o "$tmp/$(basename $0)" 1>&2 "$0"
// "$tmp/$(basename $0)" "$@"
// r="$?"
// rm -Rf $tmp
// exit "$r"
pub fn main() {
println!("Hello, rust");
for arg in std::env::args() {
println!("{}", arg);
}
}