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

添加脚本文件

写自己的第一个脚本

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

其它待补充


团结
128 声望8 粉丝

诗酒趁年华