环境变量与命令行参数

环境变量与命令行参数

一、环境变量

用来配置操作系统运行环境的参数

1、查看环境变量的命令

  1. env命令:用来查看当前用户的所有环境变量;
  2. echo $环境变量名:直接查看指定环境变量的值。

2、Linux下常见的环境变量

I. PATH

img

用来保存可执行程序的默认搜索目录。其中的冒号:是用来分隔多个搜索路径的。

Linux下的大部分shell命令,以及用户写的程序,本质都叫做可执行程序,而shell命令直接输入就可以执行,比如ll、ps,而用户写的程序需要./xxx来执行,根本原因在于:用户程序的存储路径并不在PATH中!

解决方法有三种:

  1. 通过cp指令将用户程序拷贝到任一默认搜索路径下。

  2. 通过PATH=$PATH:xxx将程序所在的xxx路径添加到默认搜索路径中。

  3. 通过修改配置文件添加路径(永久生效)。

注:第二种修改环境变量的方式是一种临时修改,在用户退出后就会恢复成配置文件中的路径;

II. HOME

img

用来保存当前用户的主工作目录,对应cd ~。

III. PWD

用来保存当前所在目录。

IV. LANG

用来保存当前操作系统使用的字符集。

V. SHELL

img

用来保存当前用户使用的是哪一种shell。

通过cat /etc/shells可以查看当前操作系统支持哪些shell。

img

VI. HISTSIZE

img

用来记录操作系统保存历史命令的数目。

3、查看环境变量的函数

char *getenv(const char *name)

name:环境变量名

img

4、本地变量

Linux下除了环境变量,还有本地变量的概念。

所谓本地变量,就是在shell命令行下直接定义的变量,比如:

img

注意:本地变量一般使用大写,且定义时不能使用空格,否则就会被当成待执行的命令。

本地变量相关命令

1、set:查看所有的本地变量(包含环境变量);

2、unset 变量名:删除本地变量;

3、export 本地变量将本地变量导出成环境变量。或者直接使用export定义环境变量,比如:export VAL=123

二、命令行参数

即命令行中给定的参数,本质上就是进程运行时传递给main函数的三个参数。

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

  • argcargv中有效字符串的个数。

  • argv:在命令行启动该程序时传递了哪些参数(字符串形式存储),默认第一个字符串是执行的命令,然后是跟在命令后的参数(相当于Linux指令的选项),最后一个指针是NULL。

img

  • env:环境变量,如果忽略,则进程获得的环境变量与env命令获取到的环境变量相同。

命令行参数的作用

有了命令行参数,程序就可以根据不同的参数设计出不同的业务逻辑(本质上Linux中的指令选项就是这个实现原理,如ls -a)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白龙码~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值