当前位置: 首页> 汽车> 行情 > 网站安全查询系统_成都专业制作网站公司_企业网站seo排名优化_搜索引擎优化的主要工作

网站安全查询系统_成都专业制作网站公司_企业网站seo排名优化_搜索引擎优化的主要工作

时间:2025/8/24 13:35:46来源:https://blog.csdn.net/2301_77479435/article/details/142421415 浏览次数: 1次
网站安全查询系统_成都专业制作网站公司_企业网站seo排名优化_搜索引擎优化的主要工作

目录

Linux中的环境变量

常见环境变量 PATH :

和环境变量相关的命令

通过系统调用获取或设置环境变量

getenv

putenv

新增环境变量

进程切换:

main函数参数

命令行参数


Linux中的环境变量

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数

常见环境变量 PATH :

指定命令的搜索路径 HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录) SHELL : 当前Shell,它的值通常是/bin/bash

which ls
/usr/bin/ls
zhangsan@ubuntu:~/practice-using-ubuntu/20240920$ file /usr/bin/ls
/usr/bin/ls: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=2f15ad836be3339dec0e2e6a3c637e08e48aacbd, for GNU/Linux 3.2.0, stripped

echo $PATH(系统的默认(维护可执行程序)搜索路径)
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

只有在PATH下的程序才能被直接执行。

查看主机名和用户名

zhangsan@ubuntu:~$ echo $LOGNAME
zhangsan
zhangsan@ubuntu:~$ echo $HOSTNAME
ubuntu

和环境变量相关的命令

1. echo: 显示某个环境变量值

2. export: 设置一个新的环境变量

export xxx
export VAL="xxx"

将本地变量设为环境变量

3. env: 显示所有环境变量

env | grep myval

过滤出指定的环境变量

4. unset: 清除环境变量-> 需要一定的时间

5. set: 显示本地定义的shell变量和环境变量

通过系统调用获取或设置环境变量

getenv

SYNOPSIS
       #include <stdlib.h>

       char *getenv(const char *name);

#include<stdio.h>
#include<stdlib.h>#define USER "USER"
int main()
{char* who=getenv(USER);printf("user: %s\n",who);return 0;
}

 user环境变量最大的意义是,可以标识当前使用Linux的用户。

#define USER "USER"
#define MY_ENV "myval"
int main()
{char* myenv=getenv(MY_ENV);if(NULL==myenv){printf("%s,not found\n",MY_ENV);}printf("%s=%s\n",MY_ENV,myenv);//printf("user: %s\n",who);return 0;
}

可以观察export  myval 前后的效果。

环境变量本来是定义给bash的,但会被子进程继承下去。->为了适应不同的应用场景。‘’

本地变量只会在当前进程(bash)内有效。

环境变量中有空格时应加上" "

环境变量是在bash内维护的,环境变量变化时,Shell会自动调整PWD的值。

#define MYPWD "PWD"
printf("%s\n",getenv(MYPWD));

putenv

更改或添加环境变量。

新增环境变量

export PATH=$PATH:/xx/xx/xx/xx

进程切换:

进程切换指的是要进行进程上下文的保护,当进程在恢复运行的时候要进行上下文保护(保护的是寄存器里的数据而不是寄存器本身)。

在任何时刻,寄存器里的数据,只是属于当前进程,寄存器被所有进程共享,但是进程里的数据,是每个进程各自私有的上下文数据

cd ~  
cd $HOME

 ~最终会被解释为HOME环境变量。

main函数参数

命令行参数

int main(int argc,char** argv,char* env[])

argc:程序名+参数个数

argv:程序名+参数 

argv数组通常以null结束。

env:中存环境变量,最后同样以NULL结尾。

printf("%s\n",getenv("PATH"));

SYNOPSIS
       extern char **environ;

for(int i=0;__environ[i];++i)printf("%d:%s\n",i,*(__environ+i));

关键字:网站安全查询系统_成都专业制作网站公司_企业网站seo排名优化_搜索引擎优化的主要工作

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: