set命令会显示为某个特定进程设置的所有环境变量,但不包括一些没有设置值的默认环境变量

可以通过等号来给环境变量赋值,值可以是数值或字符串

如果要给变量赋一个含有空格的字符串值,必需用单引号来界定字符串的开始和末尾

没有单引号的话,bash shell会以为下个字符串是另一个要执行的命令。

(赋值表达式中不要放等号)

创建全局环境变量的方法是先创建一个局部环境变量,然后再把它导出到全局环境中

export命令

unset命令

删除环境变量

PASH 冒号分隔的shell查找命令的目录列表

Linux系统用环境变量来在程序和脚本中标识自己。

在用户登录Linux系统启动一个bash shell时,默认情况下,bash在几个文件中查找命令。这些启动文件取决于你启动bash shell的方式。

方式一  登录shell

/etc/profile

是系统上默认的bash shell的主启动文件,系统上每个用户登录的时候(哪怕不开启bash shell)都会执行这个启动文件。

这个文件export了PATH  USER LOGNAME  MAIL  HOSTNAME  HISTSIZE  HISTCONTROL几个全局变量

逐一访问位于/etc/profile.d目录下的每一个文件,这个目录为Linux系统提供了一个集中存放用户登录时要执行的应用(vim,color,ssh,lang,less,which等)专属的启动文件的地方。

$HOME(当前用户的主目录)目录下的启动文件($HOME/.bash_profile;$HOME/.bash_login;$HOME/.profile)

这三个启动文件起着同一个作用:提供一个用户专属的启动文件来定义用户专有的环境变量

$HOME/.bash_profile启动文件会先去检查HOME目录中是不是还有另一个叫.bashrc的启动文件(这个文件有两个作用:一是查看/etc目录下的公用bashrc文件 ,二是为用户提供一个定制自己的命令别名和私有脚本函数的地方)。如果有的话,启动文件会先去执行它里面的命令。下一步,启动文件将一个目录加到了PATH环境变量,在HOME目录下提供了一个放置可执行文件的通用位置。(PATH=$PATH:$HOME/bin,启动/etc/profile文件的时候,提供了PATH的全局变量,可以在HOME/bin下放置一些可执行文件,则登录之后可以在用户主目录下的任何位置执行这些可执行文件)

用户在这几个文件中定制自己想要的环境变量和启动脚本。

方式二  交互式shell

不是登录系统时启动的bash shell称为交互式shell。

交互式shell不会去访问/etc/profile文件,而会去用户的HOME目录检查.bashrc是否存在。

这个文件有两个作用:一是查看/etc目录下的公用bashrc文件 ,二是为用户提供一个定制自己的命令别名和私有脚本函数的地方。

通用的/etc/bashrc启动文件会被系统上每个启动交互式shell会话的用户执行,该文件也会执行位于/etc/profile.d目录下的那些应用专属的启动文件。

方式三  非交互式shell

系统执行shell脚本时用的就是这种shell。

可变数组

值放在括号里,值与值之间用空格分隔

使用命令别名

命令别名允许为通用命令(和它们的参数一起)创建一个别名

alias -p

查看已有的别名列表

bash shell在启动交互式shell时总会读取位于$HOME/.bashrc的启动文件。那里是创建命令别名的好地方。

Linux 学习笔记 Linux环境变量初稿的更多相关文章

  1. linux —— 学习笔记(环境变量的设置)

    目录 环境变量概要 与环境变量相关的文件 设置环境变量 注意以及相关 1.环境变量概要 环境变量,简单来说,是储存了环境信息的变量.它可以让你在不指明全部路径的情况下执行某脚本或某应用程序,比如在 l ...

  2. Linux学习笔记 1 环境变量 2 vi命令

    1 环境变量篇 1.1  修改 查看 生效 系统环境变量 1 涉及系统环境变量的文件   -->  .bash_profile --> /etc/profile 2 该文件位置 /root ...

  3. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  4. Linux学习,path,环境变量的配置

    方法一: 1.查看当前环境变量配置的所与信息 echo $PATH 注意: echo是输出的意思 加$表示它是一个变量 2.配置环境命令 PATH="$PATH":comdir 注 ...

  5. LINUX学习笔记——LINUX下EXP命令全库备份数据库文件

    LINUX下EXP命令全库备份数据库文件 1)建立备份目录,目录操作权限授权给Oracle用户 mkdir /backup  --创建backup文件夹 cd  /   --进入cd语句 ls  -l ...

  6. #Linux学习笔记# Linux文件的属性以及权限说明

    1. Linux文件的属性 关于Linux文件的属性的说明和设置请参考鸟哥Linux私房菜:Linux 的文件权限与目录配置 2. 目录和文件的权限意义 在Linux系统中,每个文件都有三种身份的权限 ...

  7. #Linux学习笔记# Linux文件的所有者、群组和其他人

    1.关于所有者.群组和其他人 在Linux系统中,每个文件都具有User.Group和Others三种身份的权限配置.那这三种身份分别表示什么意思呢?配置这三种身份的权限有啥意义呢? (1)文件所有者 ...

  8. #Linux学习笔记# Linux在线帮助文档man page

    man是manual的简称,表示手册页.Linux系统的帮助手册页是按照章节(SECTION)来存储了.man手册页分为下面几个章节. 1 普通命令 2 内核提供的系统调用 3 库调用(C库函数) 4 ...

  9. linux 学习笔记 Linux内核的四大功能简介

    一 内存管理 默认情况下,运行在Linux系统上的每个进程都有各自的内存页面:进程不能访问其他进程正在使用的内存页面. 内核维护着自己的内存区域 用户进程不能访问内核进程的内存 可以创建一些共享内存页 ...

随机推荐

  1. 1.1……什么是3G

    移动通信技术的发展 第一代移动通信技术(1st - Generation),只能进行语音通话. 第二代移动通信技术(2nd - Generation),可以收发短信.可以上网,但速度只有几十Kbps, ...

  2. C#实现APK自动打包

    C#实现APK自动打包     最近做了一个安卓项目,其中有一个自动打包的功能,要把供应商id写入APK后打包.   一.思路     在AndroidMinifest.xml中加入一个标识字段,如下 ...

  3. RabbitMQ (三) 发布/订阅 -摘自网络

    这篇博客中,我们会做一些改变,就是把一个消息发给多个消费者,这种模式称之为发布/订阅(类似观察者模式). 为了验证这种模式,我们准备构建一个简单的日志系统.这个系统包含两类程序,一类程序发动日志,另一 ...

  4. Homework-10 the Enhanced Version

    经过一周对于JavaScript HTML语言等相关知识的学习,我终于基本完成了作业的要求,也是实现了我原先计划的第二部,推出了加强版的Homework-10 他由3个HTML组成,JS脚本直接选择嵌 ...

  5. POJ 1287 Networking (最小生成树)

    Networking 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/B Description You are assigned ...

  6. 用鼠标右键选择DataGridView单元格或行

    在datagirdview_cellmousedown事件中先将CurrentCell(或CurrentRow)的Selected属性设为false,然后将鼠标右键点击的单元格(或行)设为Curren ...

  7. PD16 Generate Datebase For Sql2008R2时报脚本错误“对象名sysproperties无效”

    PowerDesinger16创建数据库表到SQL2008R2时,执行报"对象名sysproperties无效"错误. 主要是在建模时我们对表.列增加了些说明注释,而Sql2005 ...

  8. Java NIO原理和使用(转载一)

    Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内 ...

  9. [转]Freemarker数据类型转换

    转至:http://blog.sina.com.cn/s/blog_667ac0360102eaz8.html // 测试程序 package myTest; import java.io.Buffe ...

  10. 创建类模式(零):简单/静态工厂(Static Factory)

    定义 简单工厂模式属于创建型模式,但不属于23种GOF设计模式之一,这也是为什么该模式标记为零的原因.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂模式是工厂模式家族中最简单实用的 ...