一 linux环境变量概念的重要性

最初用linux是为了学习机器人操作系统(ros),由于之前没有接触过linux,所以并不了解其中的一些关键概念,导致走了许多弯路,如在ros的安装过程中,没有理解安装教程中的1.6 环境变量建立中的指令的意义,所以导致有时在自己工作空间建立的包会有找不到的情况。因此,本文结合ros安装教程中的部分指令,重点介绍linux环境变量的概念及应用。

二 环境变量的概念

环境变量,就是描述环境的变量。环境就是与shell相关的会话和工作环境,变量就是可变的量。

三 变量的分类及操作

变量分为全局变量和局部变量;

全局变量对shell和shell创建的子进程可见(继承性);

局部变量只对创建它们的shell可见(临时性)。

局部变量可以变为全局变量,供其创建的子进程使用(export);

显示全部环境变量(printenv);

显示所有变量(set)

需要注意的是:这些自己定义的全局变量和局部变量在注销bash时就会失效。

四 PATH环境变量

PATH环境变量决定命令的查找位置和PATH变量中的查找顺序;

为什么是PATH变量中的查找顺序,因为命令运行的顺序是按照以下四个方式查找:

1 以相对/绝对路径执行命令

2 由alias找到该命令

3 bash内置的命令

4 PATH变量中的顺序(如你自己写个shell文件,可以把文件夹的路径加入到其中)

五 环境变量配置文件

系统环境配置文件的作用是让bash启动时可直接读取这些文件,而不需要我们自己定义。

配置文件分为全体系统配置文件和个人用户配置文件。

六 启动shell的不同方式

shell启动方式不同,会启用不同的配置文件。

shell启动方式分为三种:

1 登录shell(默认登录shell):需要输入用户账号和密码的shell

2 非登录shell(交互式shell):不需要输入账号密码的shell

3 运行脚本(非交互shell)

登录shell和非登录shell具体如何调用哪些配置文件,本文不做说明,我们只需要知道都调用了环境配置文件 ~/.bashrc 即可。

七 示例:ros安装教程中环境变量的建立

安装ros的官方教程,我们会发现在建立环境变量时会有给我们三种选择:

第一种:可以在你每次在启动新的shell时自动添加ROS的环境变量

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

第二种:只是在你当前的shell中添加ROS的环境变量

source /opt/ros/kinetic/setup.bash

第三种:使用的是zsh,而不是bash

echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc

这里我们使用前两种进行说明。

我们上面说过自己定义的全局变量和局部变量在注销bash时就会失效,想让自己定义的变量不失效的办法:写入配置文件

因此,就有了ros中第一种环境变量的建立:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

第一行表示把"  "中的字符串写入到~/.bashrc中(需要注销再登陆才会生效,>> 表示数据流输出重定向"追加",>表示"替换")

第二行表示把配置文件读入当前的shell中。(立即生效)

所以有ros第二种环境变量建立方法

source /opt/ros/kinetic/setup.bash

把配置文件读取到当前的shell中。

至此,环境变量的大部分概念都已经介绍完毕。

转载于:https://www.cnblogs.com/qixianyu/p/6568155.html

linux环境变量介绍相关推荐

  1. Linux环境变量配置

    这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. 在自定义安装软件的时候,经常需要 ...

  2. linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH)

    linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH) 2012-11-09 11:17:25     我来说两句       作者:wangeen 收藏  我要投稿 linux环 ...

  3. Linux环境变量详解

    Linux环境变量详解 环境变量是操作系统环境设置的变量,适用于整个系统的用户进程. 环境变量分类 按照权限分类 系统级:系统级的环境变量是每个登录到系统的用户都要读取的系统变量 用户级:用户级的环境 ...

  4. Linux 环境变量配置总结

    Linux是多用户的任务系统,对于每个用户都可以指定特定的用户变量.针对不同程序在不同的环境下运行就需要修改环境变量进行定制,本文介绍 Linux常见的环境变量设置方法,希望对你有帮助.图片 一.Li ...

  5. linux+查看系统环境路径,Linux环境变量设置方法总结 PATH、LD_LIBRARY_PATH

    Linux环境变量设置方法总结 PATH.LD_LIBRARY_PATH PATH:  可执行程序的查找路径 查看当前环境变量: echo $PATH 设置: 方法一:export PATH=PATH ...

  6. PATH linux环境变量 LD_LIBRARY_PATH详解

    LD_LIBRARY_PATH详解 LD_LIBRARY_PATH是Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径. 非常多的软件没有root权限安装 ...

  7. Linux 环境变量配置全攻略,超详细~

    感谢您抽出 . . 阅读本文 Linux是多用户的任务系统,对于每个用户都可以指定特定的用户变量.针对不同程序在不同的环境下运行就需要修改环境变量进行定制,本文介绍 Linux常见的环境变量设置方法, ...

  8. shell编程(三) : [Linux基础] Linux 环境变量

    接上一篇文章Linux shell编程(二): Linux shell基础 2.3 Linux环境变量 bash shell用一个叫作环境变量(environment variable)的特性来存储有 ...

  9. linux环境变量配置的方法,linux 设置环境变量方法是怎样的?Linux环境变量配置注意事项是什么?...

    linux系统是一种多用户的任务系统,它可以对每个用户都指定特定的用户变量.不同的程序在不同的环境下运行的时候,都需要去对环境变量来做定制,有很多朋友在设置 linux环境变量的时候,不知道如何操作, ...

最新文章

  1. mysql查询日期胜负_MySQL面试题:查询每个日期的胜负次数
  2. OKR和KPI有什么区别?
  3. 重写了博客上的代码着色脚本
  4. 一种安全的static变量Get/Set方式
  5. 重识微信:花 8 小时列举微信功能
  6. Java中将String格式的标准时间字符串转换为Date格式的方法
  7. angular select设置默认选中_技术分享 | Charset 和 Collat??ion 设置对 MySQL 性能的影响...
  8. Introduce Null Object(引入Null对象)
  9. C++:构造函数的重载
  10. 独立版TP空间内核|知识付费小程序源码
  11. 2.7 RMSprop
  12. DataLoader worker (pid 2287) is killed by signal: Killed. pytorch训练解决方法
  13. 2021最新对比学习(Contrastive Learning)在各大顶会上的经典必读论文解读
  14. 计算机英语ppt答辩,计算机专业毕业论文答辩(英文)详解.ppt
  15. Dukto-R6超级实用的免费跨平台局域网文件/文件夹传输工具
  16. np.mat()和np.transpose
  17. 如何注册网站域名?申请域名详细教程
  18. Packet Tracer –配置多区域OSPFv2
  19. 2020年了,还不懂数据挖掘?数据挖掘工具有哪些?
  20. 腾讯投的柠萌影视上市破发:公司市值97亿港元 曾创作《三十而已》

热门文章

  1. SSIS连接-左外连接
  2. 百度地图Map属性和方法
  3. 机器学习——Day 1 数据预处理
  4. Android 调试技巧之快速重启生效
  5. 最新容器项目 Kata 曝光
  6. iOS:ASIHttpRequest虽不更新,但仍值得详细了解
  7. 《云云众声》第95期:业界大事接着看 HP成功收购Aruba;IBM战略变动 前景发展被看好...
  8. LOW_VALUE、HIGH_VALUE、ENDPOINT_VALUE转换--UTL_RAW、DBMS_STATS.CONVERT_RAW_VALUE
  9. C语言实现井子格游戏
  10. C#正则表达式提取HTML中IMG标签中的SRC地址