LINUX环境变量(学习笔记)

  • 每个进程都有其各自的环境变量设置,即要想某个特定的程序能够运行,需要先设置其环境变量,这样在此环境中该project才能正常工作。

  • .dll文件(动态链接库),包括源代码、数据和资源的多种组合。

  1. Linux系统中的环境变量就是指定一个母驴,运行软件的失手,相关程序将会按照该目录寻找相关文件。(即,不用拷贝某些dll文件到系统母驴,path这一系统变量就是系统搜索dll文件的一系列路径。)

  2. Shell定义的环境变量

    Shell在开始执行的时候就已经定义了一些与系统工作环境有关的变量,用户还可以重新定义这些变量。 常用的shell环境变量有以下几种:

    ​ 1)HOME:用于保存用户主目录的完全路径名。

    ​ 2)PATH:用于保存用冒号分隔的目录路径名,shell将按PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行。

    ​ 3)SHELL:当前用户使用的Shell

    ​ 4)UID:当前用户的UID

    ​ 5)LOGNAME:当前用户的登录名

    ​ 6)HOSTNAME:主机名称

  1. 查看环境变量

    • Linux系统中set 、env 和 export 命令都可以查看环境变量。

      1)set命令显示当前shell的变量,包括当前用户的变量,set主要用来设置sh的参数与选项

      2)env命令显示当前用户的变量,env用来在构建的环境中运行命令

      3)export命令显示当前导出成用户变量的shell变量。

    • 每个shell都有特有的变量set显示的变量,这个和用户变量是不同的,当前用户变量和用什么shell无关,不管用户使用什么shell都会存在,比如HOME,SHELL等这些变量。

    • 但shell本身的变量不同,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的。export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell本身的变量可以通过 export “导出”变成一个用户变量。

Ⅰ. 应用实例

  1. Linux中常见的环境变量有:

    · PATH:指定命令的搜索路径

    *PATH声明用法:*
    PATH=PAHT:<PATH 1>:<PATH 2>:<PATH 3>:--------:< PATH n > export PATH 你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。 可以利用echoPATH查看当前当前系统PATH路径。

    · HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)。

    · HISTSIZE:指保存历史命令记录的条数。

    · LOGNAME:指当前用户的登录名。

    · HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的

    · SHELL:指当前用户用的是哪种Shell。

    · LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

    · MAIL:指当前用户的邮件存放目录。

    注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST

  2. Linux也提供了修改和查看环境变量的命令,下面通过几个实例来说明:

    · echo 显示某个环境变量值 echo $PATH

    · export 设置一个新的环境变量 export HELLO="hello" (可以无引号)

    · env 显示所有环境变量

    · set 显示本地定义的shell变量

    · unset 清除环境变量 unset HELLO

    · readonly 设置只读环境变量 readonly HELLO

  3. C程序调用环境变量函数

    · getenv()返回一个环境变量。

    · setenv()设置一个环境变量。

    · unsetenv()清除一个环境变量。

    原文链接:https://www.jianshu.com/p/ac2bc0ad3d74

    实例:
    单独查看PATH环境变量,可用:

    [root@localhost u-boot-sh4]#echo $PATH

    /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

添加PATH环境变量,可用:

[root@localhostu-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH

再次查看:

[root@localhost u-boot-sh4]# echo $PATH

/opt/STM/STLinux-2.3/devkit/sh4/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

说明添加PATH成功。

上述方法的PATH 在终端关闭 后就会消失。所以还是建议通过编辑/etc/profile来改PATH,也可以改家目录下的.bashrc(即:~/.bashrc)。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356