Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!
:timing
:sccache 1Tips and Traps¶
Notice
std::env::current_dirgets the directory path from where you run the Rust application. It might be different from the path of the Rust executable.
use std::env;std::env::current_dir()Ok("/workdir/archives/blog/misc/content/2021/05")std::env::current_exe()Ok("/root/.cargo/bin/evcxr_jupyter")std::env::set_current_dir("/workdir")Ok(())std::env::current_dir()Ok("/workdir")for var in std::env::vars() {
println!("{:?}", var);
}("EVCXR_IS_RUNTIME", "1")
("HOME", "/home/dclong")
("JAVA_HOME", "/usr/lib/jvm/java-8-openjdk-amd64")
("JPY_API_TOKEN", "967da4b8a66e4f5c8ca3aa31833aad0d")
("JPY_PARENT_PID", "70")
("JUPYTERHUB_ACTIVITY_URL", "http://127.0.0.1:8081/hub/api/users/dclong/activity")
("JUPYTERHUB_ADMIN_ACCESS", "1")
("JUPYTERHUB_API_TOKEN", "967da4b8a66e4f5c8ca3aa31833aad0d")
("JUPYTERHUB_API_URL", "http://127.0.0.1:8081/hub/api")
("JUPYTERHUB_BASE_URL", "/")
("JUPYTERHUB_CLIENT_ID", "jupyterhub-user-dclong")
("JUPYTERHUB_HOST", "")
("JUPYTERHUB_OAUTH_CALLBACK_URL", "/user/dclong/oauth_callback")
("JUPYTERHUB_SERVER_NAME", "")
("JUPYTERHUB_SERVICE_PREFIX", "/user/dclong/")
("JUPYTERHUB_USER", "dclong")
("LANG", "en_US.UTF-8")
("LC_ALL", "en_US.UTF-8")
("M2_HOME", "/usr/share/maven")
("PATH", "/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin")
("RUST_BACKTRACE", "1")
("SHELL", "/bin/bash")
("USER", "dclong")
()std::env::var("PATH")Ok("/opt/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin")std::env::set_var("NIMA", "1000");std::env::var("NIMA")Ok("1000")std::env::remove_var("NIMA")()let paths = std::env::var("PATH")?;
for path in std::env::split_paths(&paths) {
println!("{:?}", path);
}"/opt/pyenv/bin"
"/usr/local/sbin"
"/usr/local/bin"
"/usr/sbin"
"/usr/bin"
"/sbin"
"/bin"
"/usr/lib/jvm/java-8-openjdk-amd64/bin"
()std::env::join_paths(&["/workdir", "/home/dclong"])Ok("/workdir:/home/dclong")std::env::temp_dir()"/tmp"