Linux_Shell脚本编程之设置环境变量

Linux_Shell脚本编程之设置环境变量,第1张

1、export 变量名 = 变量值(功能描述:将shell变量输出为环境变量/全局变量) 2、source 配置文件 (功能描述:让修改后的配置信息立即生效) 3、echo $变量名 (功能描述:查询环境变量的值) 1、在/etc/profile文件中定义TOMCAT_HOME环境变量 2、查看环境变量TOMCAT的值 3、在另外一个shell程序中使用 TOMCAT_HOME 注意:文档多行注释

比如要把/etc/apache/bin目录添加到PATH中,方法有三:

1.#PATH=$PATH:/etc/apache/bin

使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效

2.#vi /etc/profile

在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)

这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变

3.#vi ~/.bash_profile

修改PATH行,把/etc/apache/bin添加进去

这种方法是针对用户起作用的

注意:想改变PATH,必须重新登陆才能生效,以下方法可以简化工作:

如果修改了/etc/profile,那么编辑结束后执行source profile(source /etc/profile) 或 执行点命令 ./profile,PATH的值就会立即生效了。

这个方法的原理就是再执行一次/etc/profile shell脚本,注意如果用sh /etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,但是source是在当前 shell进程中执行的,所以我们能看到PATH的改变。

这样你就学会Linux系统下修改环境变量PATH路径的方法。

补充说明

工作环境设置文件

环境设置文件有两种:系统环境设置文件 和 个人环境设置文件

1.系统中的用户工作环境设置文件:

登录环境设置文件:/etc/profile 

 非登录环境设置文件:/etc/bashrc

2.用户个人设置的环境设置文件:

 登录环境设置文件: $HOME/.bash_profile   //这个是环境变量设置的地方

 非登录环境设置文件:$HOME/.bashrc       //这个是定义别名的地方

登录环境:指用户登录系统后的工作环境

非登录环境:指用户再调用子shell时所使用的用户环境

Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量(在用户主目录下$HOME/)。

使用默认Bash时,用户登录后加载环境变量的流程如下:

说明:

bash首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/profile.d/*.sh,随后bash会执行用户主目录下的.bash_profile脚本,.bash_profile脚本会执行用户主目录下的.bashrc脚本,而.bashrc脚本会执行/etc/bashrc脚本至此,所有的环境变量和初始化设定都已经加载完成。bash随后调用terminfo和inputrc,完成终端属性和键盘映射的设定。

(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。

(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

(5) ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。

(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

tcsh是一个加强的csh,目前大多数系统的csh都使用这个shell代替原来的csh,为csh提供命令补全和命令行编辑功能。/bin/csh实际上是/bin/tcsh的符号连接。这样一来,加载环境变量的流程如下:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8536130.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存