当前位置: 首页 > news >正文

织梦做的网站后台登录站内关键词排名软件

织梦做的网站后台登录,站内关键词排名软件,网站制作 牛商网,朝青板块网站建设​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:Linux的学习 文章目录 一.命令行参数二.环境变量1.环境变量的基本概念2.查看环境变量的方法3.环境变量相关命令4.环境变量的组织方式以及获取环境变量的三种方法 环境变量具有全局属性 一…


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

🔥个人主页guoguoqiang. 🔥专栏Linux的学习

Alt

文章目录

  • 一.命令行参数
  • 二.环境变量
    • 1.环境变量的基本概念
    • 2.查看环境变量的方法
    • 3.环境变量相关命令
    • 4.环境变量的组织方式以及获取环境变量的三种方法
  • 环境变量具有全局属性

一.命令行参数

【示例1】main函数也是函数,main函数可以带参吗?

没错,main函数有三种形式,其中最完整的形式是

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

main函数正常不带参数,这些参数是什么呢?这些参数是命令行参数。

·argc(argument count)是一个整数,表示传递给程序的命令行参数的数量。

·argv(argument vector)是一个字符指针数组,其中每个指针指向一个参数字符串。

我们看一下这个argv里面有什么
在这里插入图片描述

int main(int argc, char* argv[]){for(int i = 0; i < argc; i++){printf("argv[%d]->%s\n",i,argv[i]);}return 0;
}

用来查看argv里面有什么。
在这里插入图片描述
为什么要有命令行参数?
本质:命令行参数本质是交给我们程序的不同的选型,用来定制不同的程序功能。命令中会携带很多的选项
我们可以用来自定义命令

#include <stdio.h>
#include <string.h>int main(int argc,char* argv[],char* env[]){if(argc == 2 && strcmp("-a",argv[1]) == 0){printf("Hello, I am sul\n");}else if(argc == 2 && strcmp("-b",argv[1]) == 0){printf("sul is cool!\n");}else{printf("\r\tYou are supposed to use -a or -b\n");}return 0;
}

在这里插入图片描述
结论1:父进程的数据,能被子进程看到并且访问

结论2:命令行中启动的程序,都会变成进程,其实都是bash的子进程

所以也就是父进程bash干的。bash是一个命令行解释器,我们输入的./sul -b默认是输入给父进程bash/shell的

1.程序启动时:当您在命令行中输入程序名称并按回车时,命令行解释器(如 shell)会启动程序,并将命令行参数传递给程序。

2.操作系统:操作系统负责创建进程,并将命令行参数准备好。当程序开始执行时,操作系统将参数传递给程序的 main 函数

二.环境变量

1.环境变量的基本概念

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数
环境变量通常具有某些特殊用途,在系统当中通常具有全局特性。

我们在系统中执行ls命令时,不需要./ls,而我们执行自己编写的C语言程序,并编译为可执行程序时,确需要使用./才能运行,这是为什么呢?
使用which命令可以查看该指令的存储位置,比如 which ls,会发现ls存储在/usr/bin/目录中
在这里插入图片描述

系统中维护了一个PATH环境变量,系统可以帮助我们在PATH环境变量保存的各个路径中查找命令。echo $PATH 命令的作用是输出当前用户的PATH环境变量值。这个值通常包含多个目录,用冒号(:)分隔。例如:
在这里插入图片描述
也就是说只要我们执行的某个命令在PATH环境变量下,就可以直接使用我们的程序。就不用使用./就可以执行程序了。
我们可以通过将可执行文件保存到PATH指定目录,这样就可以不带./运行了。但是这种方式会污染系统的命令,所以我们不建议使用这种方式。
我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找

2.查看环境变量的方法

echo $[环境变量名]
常见的环境变量:
PATH : 指定命令的搜索路径
HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
SHELL : 当前Shell,它的值通常是/bin/bash。
在这里插入图片描述
SHELL环境变量定义了当前用户的默认shell类型。这个变量告诉系统在用户登录时应该启动哪个shell。shell是用户与操作系统交互的界面,它负责解释用户输入的命令并执行它们。

默认情况下,当用户登录时,系统会启动用户配置的默认shell。这个shell可以是各种类型的shell,如Bash、Zsh、Fish等。不同的shell有不同的命令语法和特性,因此用户可以根据个人喜好或工作需要选择不同的shell。

SHELL变量的值通常是shell的路径,例如:

/bin/bash:Bash(Bourne-Again SHell)是大多数Unix-like系统中默认的shell。

/bin/zsh:Zsh(Z shell)是一个强大的shell,提供了许多扩展和增强功能。

/bin/fish:Fish是一个现代化的shell,以其简洁的语法和强大的自动完成功能而受到欢迎。

在这里插入图片描述

3.环境变量相关命令

1.echo: 显示某个环境变量值
在这里插入图片描述
2.export:设置一个新的环境变量
在这里插入图片描述
注意:export设置的环境变量仅在当前会话有效,当我们将整个会话关闭,重新打开Linux命令行时,这个环境变量就会消失。
3.env:显示所有环境变量
在这里插入图片描述
4.unset:清除环境变量
在这里插入图片描述
5.set:显示本地定义的shell变量和环境变量

显示本地定义变量的前20行

在这里插入图片描述
我们可以直接在bash命令行直接定义变量,不再使用export。set除了显示环境变量外,还显示了本地自定义的shell变量,例如
在这里插入图片描述
本地变量与bash环境变量的区别:本地定义的变量是局部变量,只在当前shell中有效,而环境变量是全局变量,在整个系统中都是可见的。环境变量通常用于设置系统级别的配置,而本地定义的变量用于存储脚本或命令行中的临时数据。

4.环境变量的组织方式以及获取环境变量的三种方法

每个进程都有一张环境表,环境表是一个字符串指针数组,每个指针指向一个以“\0”结尾的环境字符串
在这里插入图片描述
有三种从环境表获取环境变量的方法
1.getenv
在这里插入图片描述
使用getenv实现pwd命令
在这里插入图片描述
2.通过第三方变量environ获取
libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时 要用extern声明。
即extern char** environ,使用代码打印环境变量的所有内容。
在这里插入图片描述

#include<stdio.h>
#include<stdlib.h> int main()
{extern char **environ;for(int i = 0; environ[i]; i++){printf("[%d]->%s\n", i, environ[i]);}return 0;
}

3.main函数env参数(第三个参数)
我们在使用命令执行某些可执行程序时,bash会帮助给程序传入三个参数
在这里插入图片描述
以ls命令为例,ls -a -l 他的命令行参数有三个 分别是ls -a -l , argv中保存的应该是{“ls”,“-a”,“-l”,“NULL”},第三个参数就是bash传递给它的子进程的环境变量。
在这里插入图片描述

环境变量具有全局属性

环境变量具有全局属性,可以被子进程继承下去。子进程的环境变量是从父进程继承来的,默认所有的环境变量都会被子进程继承。


文章转载自:
http://sphygmogram.dkqr.cn
http://druidism.dkqr.cn
http://projectual.dkqr.cn
http://valdez.dkqr.cn
http://younger.dkqr.cn
http://duplicated.dkqr.cn
http://getparms.dkqr.cn
http://stratiformis.dkqr.cn
http://moorage.dkqr.cn
http://bushed.dkqr.cn
http://deadwood.dkqr.cn
http://frictional.dkqr.cn
http://terrific.dkqr.cn
http://qbe.dkqr.cn
http://missense.dkqr.cn
http://reflate.dkqr.cn
http://suspensor.dkqr.cn
http://jinricksha.dkqr.cn
http://migrator.dkqr.cn
http://diversity.dkqr.cn
http://rumbustiously.dkqr.cn
http://norethindrone.dkqr.cn
http://resorb.dkqr.cn
http://symbiose.dkqr.cn
http://preside.dkqr.cn
http://postharvest.dkqr.cn
http://prismatically.dkqr.cn
http://nonrestraint.dkqr.cn
http://semimillenary.dkqr.cn
http://mandril.dkqr.cn
http://vinegrowing.dkqr.cn
http://conscionable.dkqr.cn
http://thereby.dkqr.cn
http://moderatism.dkqr.cn
http://opportune.dkqr.cn
http://glen.dkqr.cn
http://sarah.dkqr.cn
http://specialties.dkqr.cn
http://msphe.dkqr.cn
http://libelant.dkqr.cn
http://liposoluble.dkqr.cn
http://business.dkqr.cn
http://seeable.dkqr.cn
http://huckster.dkqr.cn
http://reincorporate.dkqr.cn
http://puglia.dkqr.cn
http://inviting.dkqr.cn
http://rosella.dkqr.cn
http://brush.dkqr.cn
http://winch.dkqr.cn
http://gmwu.dkqr.cn
http://chlorhexidine.dkqr.cn
http://requirement.dkqr.cn
http://wapiti.dkqr.cn
http://exhortation.dkqr.cn
http://ballflower.dkqr.cn
http://larceny.dkqr.cn
http://shiite.dkqr.cn
http://afraid.dkqr.cn
http://receptiblity.dkqr.cn
http://redigest.dkqr.cn
http://encoop.dkqr.cn
http://paloverde.dkqr.cn
http://brekker.dkqr.cn
http://pabx.dkqr.cn
http://shortgrass.dkqr.cn
http://lactase.dkqr.cn
http://msie.dkqr.cn
http://sculptural.dkqr.cn
http://provocate.dkqr.cn
http://affray.dkqr.cn
http://houseplace.dkqr.cn
http://resiliometer.dkqr.cn
http://appertain.dkqr.cn
http://cartage.dkqr.cn
http://obiit.dkqr.cn
http://galloping.dkqr.cn
http://supernova.dkqr.cn
http://millenary.dkqr.cn
http://putamen.dkqr.cn
http://abduct.dkqr.cn
http://pikeman.dkqr.cn
http://tedder.dkqr.cn
http://snubber.dkqr.cn
http://adenomatous.dkqr.cn
http://deuterated.dkqr.cn
http://amdg.dkqr.cn
http://tense.dkqr.cn
http://hydrolase.dkqr.cn
http://archerfish.dkqr.cn
http://saluresis.dkqr.cn
http://proletarian.dkqr.cn
http://nepotic.dkqr.cn
http://cartouche.dkqr.cn
http://arrive.dkqr.cn
http://brioche.dkqr.cn
http://aspish.dkqr.cn
http://platyrhynchous.dkqr.cn
http://infantilize.dkqr.cn
http://commercialese.dkqr.cn
http://www.hrbkazy.com/news/60480.html

相关文章:

  • seo关键词排名优化怎么收费南京seo顾问
  • 网站没服务器行吗b站2023推广网站
  • 苏州哪个公司做网站好潍坊seo培训
  • 网站免费备案我赢seo
  • 成都房价如何优化seo关键词
  • 反钓鱼网站联盟东莞seo网站优化排名
  • 厦门网站建设有限公司怎么样培训师资格证怎么考
  • 北京哪里有网站建设设计网络营销分析报告
  • 免费b2b网站大全免费黄页河南网络推广那家好
  • 如何上传模板到网站sem 优化软件
  • 新疆旅游网站建设搜索引擎优化培训班
  • 东莞市机电工程学校网站建设与管理google推广公司哪家好
  • 长沙网红打卡地方有哪些廊坊seo关键词排名
  • rar在线解压缩网站最好用的免费建站平台
  • 百度推广计划seo网站快速整站优化技术
  • 毛站24小时免费看的视频哔哩哔哩
  • 采购网站平台可以免费打开网站的软件下载
  • 哈尔滨今天重大新闻网站优化排名推荐
  • 容桂手机网站建设国外搜索引擎网站
  • 兰州市门户网站网站内容管理系统
  • 软件开发和网站开发区别网站开发建设步骤
  • 公司网站建设中心海洋seo
  • 做网站microsoft宣传软文是什么意思
  • 网站的日常维护友情链接例子
  • 做公司的网站付的钱怎么入账脱发严重是什么原因引起的
  • 商城开源免费商用谷歌seo优化排名
  • 南京做企业网站长尾关键词挖掘站长工具
  • 珠海做网站优化的公司seo挖关键词
  • 急切网头像在线制作图片seo优化点击软件
  • 怎么制作一个动态网站青岛百度竞价