1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Rust:命令行参数与环境变量操作

Rust:命令行参数与环境变量操作

时间:2023-07-06 10:42:46

相关推荐

Rust:命令行参数与环境变量操作

Rust中,经常碰到命令行参数和环境变量操作。下面主要来了解一下。

一、命令行参数

从上面可以看到,std::env实现了从cargo run 命令行中提取命令行参数 a b c进入程序。

二、读取环境变量

std::env::var函数,实现了操作系统中环境变量的功能。

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标准的,这样就会报错。这时可以用:

env::vars_os

再往下:读取特定环境变量操作

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),}}

三、设置环境变量

一般包括:查看所有环境变量、设置新的环境变量和修改老的环境变量。

1、在cmd下

上面分别做了设置,查看单独环境变量操作、修改操作。还是比较简单。

2、powshell

#查看所有环境变量 ls env:

#搜索环境变量 ls env:NODE*

#查看单个环境变量 $env:NODE_ENV

#添加/更新环境变量 $env:NODE_ENV=development

#删除环境变量 del evn:NODE_ENV

3、linux

(1) 修改bashrc

修改bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的

.bashrc文件就可以了。

vi ~/.bashrc

在下面添加:

Export PATH="$PATH:/NEW_PATH"

资料来源:

/Joans/p/7760378.html

(2) export

export [-fnp][变量名称]=[变量设置值]参数说明:-f 代表[变量名称]中为函数名称。-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。-p 列出所有的shell赋予程序的环境变量。

export MYENV=7 //定义环境变量并赋值$ export PATH=$PATH:/home/to/operation_tools # 其中“:”表示增加,分隔号;windows下为“;”

如果写成下面的,麻烦就大了。

$ export PATH=/home/to/operation_tools

因为PATH原来是有一堆的路径,现在变成一个了,有一堆的系统估计找不到路径了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。