当前位置:网站首页>Rust: command line parameter and environment variable operation
Rust: command line parameter and environment variable operation
2020-11-08 08:59:00 【osc_sejgcp0】
Rust in , We often encounter command line parameters and environment variable operations . Let's have a look at .
One 、 Command line arguments
You can see from above ,std::env Realized from cargo run Command line parameters are extracted from the command line a b c Enter the program .
Two 、 Read environment variables
std::env::var function , The function of environment variable in operating system is realized .
env::var()-> std::env::Vars
Vars What is it? , Very complicated , He did Iterator. The following is the source code in the standard library :
#[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,
}
It should be noted that , In the environment variables , Characters don't have to be Unicode The standard , That would be a false report . You can use :
env::vars_os
following : Read specific environment variables
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、 ... and 、 Set the environment variable
Generally include : View all environment variables 、 Set new environment variables and modify old environment variables .
1、 stay cmd Next
The settings are made above , View individual environment variable operations 、 Modify the operating . It's still relatively simple .
2、powshell
# View all environment variables ls env:
# Search for environment variables ls env:NODE*
# Look at a single environment variable $env:NODE_ENV
# add to / Update environment variables $env:NODE_ENV=development
# Delete environment variables del evn:NODE_ENV
3、linux
modify bashrc file , This method is safer , It can control the permission to use these environment variables to the user level , This is for a specific user , If you need to give a user permission to use these environment variables , You only need to modify the
.bashrc Just file it .vi ~/.bashrc
Add below :
Export PATH="$PATH:/NEW_PATH"
source :
https://www.cnblogs.com/Joans/p/7760378.html
版权声明
本文为[osc_sejgcp0]所创,转载请带上原文链接,感谢
边栏推荐
- Sum up some useful functions
- 【原创】关于高版本poi autoSizeColumn方法异常的情况
- Python learning Day1 -- Basic Learning
- GET,POST,PUT,DELETE,OPTIONS用法与说明
- 狗狗也能操作无人机!你没看错,不过这其实是架自动驾驶无人机 - 知乎
- ASP.NET MVC下基于异常处理的完整解决方案
- PX4添加新的应用
- vivoS7e和vivoS7的区别 哪个更值得入手
- How can a technician take over a complex system?
- Solve Safari browser download file name garbled problem
猜你喜欢
vivoy73s和荣耀30青春版的区别
C / C + + Programming Notes: what are the advantages of C compared with other programming languages?
vivoS7e和vivoS7的区别 哪个更值得入手
VC6兼容性及打开文件崩溃问题解决
Which is more worth starting with the difference between vivos7e and vivos7
Python learning Day1 -- Basic Learning
python学习 day1——基础学习
“智能5G”引领世界,数位智能网优+5G能带来什么?
Search and replace of sed
Astra: the future of Apache Cassandra is cloud native
随机推荐
高并发,你真的理解透彻了吗?
Visual Studio 2015 未响应/已停止工作的问题解决
微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决!
Simple use of future in Scala
GET,POST,PUT,DELETE,OPTIONS用法与说明
Fgagt: flow guided adaptive graph tracking
Japan PSE certification
More than 50 object detection datasets from different industries
QT hybrid Python development technology: Python introduction, hybrid process and demo
sed之查找替换
ASP.NET MVC下基于异常处理的完整解决方案
FORTRAN 77 reads some data from the file and uses the heron iteration formula to solve the problem
鼠标变小手
ulab 1.0.0发布
The difference between vivoy 73s and glory 30 Youth Edition
5g/4g工业无线路由器
Face recognition: attack types and anti spoofing techniques
异常+abstract
Oschina plays on Sunday - before that, I always thought I was a
Qt混合Python开发技术:Python介绍、混合过程和Demo