Linu启动脚本(设置环境变量)

添加启动脚本文件,设置一些自定义环境变量,随系统启动生效。

添加脚本文件

写自己的第一个脚本

vi testshell
在testshell文件中添加内容:

!/bin/bash

date
who
其中,# /bin/bash必须放在脚本文件的第一行,意思三指定脚本需要bash shell执行,你也可以指定其他的shell。
运行命令:

testshell
bash: testshell: 未找到命令...
文件搜索失败: Curl error (56): Failure when receiving data from the peer for https://www.virtualbox.org/download/oracle_vbox.asc [Proxy CONNECT aborted]
提示未找到命令,这是因为当前目录并不在PATH环境变量中,我们只需采取下述方法之一:

  1. 将shell脚本文件所处的目录添加到PATH环境变量中

  2. 在命令行提示符中用绝对或者相对路径来引用shell脚本文件

这里我用相对路径来引用脚本文件:

./testshell
bash: ./testshell: 权限不够
shell表明还没有执行文件的权限,快速查看文件权限就能找到问题所在:

ls -l testshell
-rw-rw-r--. 1 tuanjie tuanjie 21 6月 25 13:24 testshell
在创建testshell文件时,umask的值决定了新文件的默认权限设置。由于umask变量设成了022(参考第6章),系统创建的文件只有文件属主才有读写权限。
下一步通过chmod命令(参见第6章)赋予文件属主执行文件的权限:

chmod u+x testshell
./testshell
2016年 06月 25日 星期六 13:44:18 CST
tuanjie tty2 2016-06-25 09:10 (:0)
这样就成功写了一个shell脚本文件。
当然也可以使用chmod 777 testshell将文件设置为所有用户可读可写可执行。

系统默认执行脚本

把写好的脚本移动到/etc/profile.d目录下,由于在/etc/profile文件中设置只执行.sh 结尾的文件,我们需要修改文件的后缀名:

for i in /etc/profile.d/.sh ; do
if [ -r "$i" ]; then
if [ "${-#
i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
移动文件

mv testshell testshell.sh
重新编译/etc/profile文件:

source /etc/profile
我们刚刚设置的环境变量就可以使用了,下次系统启动也可以直接使用。

gfsh version
v1.0.0-incubating.M2
testshell.sh 的文件内容如下:

!/bin/bash

PATH=$PATH:/home/tuanjie/geode/bin
export PATH

设置开发环境变量

修改testshell.sh 文件名为devpath.sh,删除测试脚本。

Maven环境变量

MAVEN_HOME=/home/tuanjie/dev/apache-maven-3.3.9
export MAVEN_HOME

PATH=$PATH:$MAVEN_HOME/bin
export PATH

Gradle环境变量

GRADLE_HOME=/home/tuanjie/dev/gradle-2.14
export GRADLE_HOME

PATH=$PATH:$GRADLE_HOME/bin
export PATH
其它待补充

关键字:shell


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部