当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- Japan PSE certification
- Python3.9的7个特性
- Qt混合Python开发技术:Python介绍、混合过程和Demo
- python 循环区分(while循环和for循环)
- Basic concepts of computer network (5) basic principles of local area network
- 5g + Ar out of the circle, China Mobile Migu becomes the whole process strategic partner of the 33rd China Film Golden Rooster Award
- How does spotify drive data-driven decision making?
- 盘点那些你没想到的云计算应用场景(上)
- IOS learning note 2 [problems and solutions encountered during the installation and use of cocopods] [update 20160725]
- Seven features of Python 3.9
猜你喜欢
鼠标变小手
Application of bidirectional LSTM in outlier detection of time series
成功解决An error ocurred while starting the kernel
Oschina plays on Sunday - before that, I always thought I was a
iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】【20160725更新】
Insight -- the application of sanet in arbitrary style transfer
Littlest JupyterHub| 02 使用nbgitpuller分发共享文件
ASP.NET A complete solution based on exception handling in MVC
技术人员该如何接手一个复杂的系统?
Rust:命令行参数与环境变量操作
随机推荐
5g/4g工业无线路由器
FORTRAN77从文件中读入若干数据并用heron迭代公式开方
Macquarie Bank drives digital transformation with datastex enterprise (DSE)
蓝牙2.4G产品日本MIC认证的测试要求
糟糕,系统又被攻击了
成功解决An error ocurred while starting the kernel
来自不同行业领域的50多个对象检测数据集
What? Your computer is too bad? You can handle these moves! (win10 optimization tutorial)
阅读心得:FGAGT: Flow-Guided Adaptive Graph Tracking
Cloud Alibabab笔记问世,全网详解仅此一份手慢无
Littlest JupyterHub| 02 使用nbgitpuller分发共享文件
ASP.NET A complete solution based on exception handling in MVC
ASP.NET MVC下基于异常处理的完整解决方案
Ulab 1.0.0 release
Abnormal + Abstract
How did Julia become popular?
How does spotify drive data-driven decision making?
Solve the problem of rabbitmq message loss and repeated consumption
Architect (November 2020)
将“光头”识别为“足球”,AI 摄像头如何犯的错?