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环境变量中,我们只需采取下述方法之一:
将shell脚本文件所处的目录添加到PATH环境变量中
在命令行提示符中用绝对或者相对路径来引用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
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!