Rust中,常常碰到命令行参数和环境变量操做。下面主要来了解一下。html
1、命令行参数linux
从上面能够看到,std::env实现了从cargo run 命令行中提取命令行参数 a b c进入程序。
shell
2、读取环境变量安全
std::env::var函数,实现了操做系统中环境变量的功能。bash
env::var()-> std::env::Vars
Vars是什么,很复杂,他实现了Iterator.如下是标准库中源码:函数
#[stable(feature = "env", since = "1.0.0")] pub struct Vars { inner: VarsOs, } /// An iterator over a snapshot of the environment variables of this process. /// /// This structure is created by the [`std::env::vars_os`] function. See /// its documentation for more. /// /// [`std::env::vars_os`]: vars_os #[stable(feature = "env", since = "1.0.0")] pub struct VarsOs { inner: os_imp::Env, }
须要说明的是,环境变量中,字符并不必定是Unicode标准的,这样就会报错。这时能够用:this
env::vars_os
再往下:读取特定环境变量操做spa
use std::env; fn main() { let args: Vec<String> = env::args().collect(); //println!("get command args :{:?} ", args); //println!("get env args : "); for (key, value) in env::vars() { //println!(" {} => {}", key, value); } let key = "PATH"; match env::var(key) { Ok(val) => { // val is String, splited by ";" println!("val =>{}",val); }, Err(e) => println!("couldn't interpret {}: {}", key, e), } }
3、设置环境变量
通常包括:查看全部环境变量、设置新的环境变量和修改老的环境变量。
一、在cmd下
操作系统
上面分别作了设置,查看单独环境变量操做、修改操做。仍是比较简单。命令行
二、powshell
#查看全部环境变量 ls env:
#搜索环境变量 ls env:NODE*
#查看单个环境变量 $env:NODE_ENV
#添加/更新环境变量 $env:NODE_ENV=development
#删除环境变量 del evn:NODE_ENV
三、linux
修改bashrc文件,这种方法更为安全,它能够把使用这些环境变量的权限控制到用户级别,这里是针对某一特定的用户,若是你须要给某个用户权限使用这些环境变量,你只须要修改其我的用户主目录下的
.bashrc文件就能够了。vi ~/.bashrc
在下面添加:
Export PATH="$PATH:/NEW_PATH" 资料来源: https://www.cnblogs.com/Joans/p/7760378.html