博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 学习笔记 Linux环境变量初稿
阅读量:5161 次
发布时间:2019-06-13

本文共 1540 字,大约阅读时间需要 5 分钟。

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的启动文件。那里是创建命令别名的好地方。

 

转载于:https://www.cnblogs.com/zhulin-jun/p/5639107.html

你可能感兴趣的文章
布兰诗歌
查看>>
js编码
查看>>
Pycharm Error loading package list:Status: 403错误解决方法
查看>>
steps/train_sat.sh
查看>>
转:Linux设备树(Device Tree)机制
查看>>
iOS 组件化
查看>>
(转)Tomcat 8 安装和配置、优化
查看>>
(转)Linxu磁盘体系知识介绍及磁盘介绍
查看>>
tkinter布局
查看>>
命令ord
查看>>
Sharepoint 2013搜索服务配置总结(实战)
查看>>
博客盈利请先考虑这七点
查看>>
使用 XMLBeans 进行编程
查看>>
写接口请求类型为get或post的时,参数定义的几种方式,如何用注解(原创)--雷锋...
查看>>
【OpenJ_Bailian - 2287】Tian Ji -- The Horse Racing (贪心)
查看>>
Java网络编程--socket服务器端与客户端讲解
查看>>
List_统计输入数值的各种值
查看>>
学习笔记-KMP算法
查看>>
Timer-triggered memory-to-memory DMA transfer demonstrator
查看>>
跨域问题整理
查看>>