当前位置:网站首页>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

 Insert picture description here
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,
}

 Insert picture description here 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
 Insert picture description here
 Insert picture description here



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]所创,转载请带上原文链接,感谢