linux系统变量的配置与开机自动启动程序

linux图形界面登录时类似于windows的登录,会读取系统变量文件和用户变量文件将环境变量和用户变量数据载入内存
可以认为/etc/profile文件是系统变量文件,$HOME/.bashrc, $HOME/.profile是用户变量文件,其实这些文件是在用户登录进系统时系统首先运行一个登录bash,这个bash会首先执行这些文件,所以可在这些文件中执行一些需要开机启动的shell命令,如设置系统环境变量,开机启动程序等(它们都是shell命令)。

1.系统变量

可在变量文件中使用export将变量值导出到bash(因为这些文件是在系统登录时启动的登录bash中执行的,所以这些变量值是在启动bash中定义并被export到当前登录用户下所有打开的bash的)。

在系统变量文件/etc/profile中最后一段代码如下:

这段代码的意思是如果存在/etc/profile.d文件夹,就执行这个文件夹下的所有shell(.sh结尾的)文件。(也可将此段代码加入到$HOME/.bashrc或$HOME/.profile文件中,结合下面的介绍可为用户变量提供较大灵活性)

所以在安装某些程序需要配置系统变量时可以将这些系统变量写在一个以.sh结尾的shell文件中并将此文件保存到/etc/profile.d/目录下,也可在此目录下创建该shell文件的软链接。下面以配置jdk的系统变量为例。

假设jdk安装在(解压到) /usr/local/jdk目录下,

cd /usr/local/jdk   #切换到jdk目录

sudo touch java_env.sh #创建系统变量文件

sudo gedit ./java_env.sh #编辑文件并保存

java_env.sh内容如下:

#
#this file is used to set
#the java's environment variables
#
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH


sudo ln -s java_env.sh /etc/profile.d/java_env.sh #创建此文件的软链接

至此jdk的系统变量就配置好了。当然也可以直接在/etc/profile.d/目录下创建java_env.sh文件。但笔者推荐读者将/usr/local创建为独立的分区并使用本文介绍的方法。这样在重装系统时对已安装的程序不会有其他改动,只需在/etc/profile.d/目录下重新创建.sh文件软链接即可。


2.开机运行命令

也可写一些其他需要开机运行的shell命令。如笔者在/etc/profile.d/startup.sh文件中定义了启动mysql的别名,这样在想开启时只需输入别名就可以了。当然也可以将一些需要开机启动的程序启动命令写入这个shell文件中(注意要在这些启动程序命令后面加 & 符号使该程序在后台运行,否则启动的程序会阻塞登录bash)。

转载于:https://my.oschina.net/wisedream/blog/109936

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值