我正在使用运行Debian的BeagleBone Black(我相信BeagleBone网站提供了一个链接的最新版本),而且我最近在上面安装了Java。 每次启动电路板时,我都必须重新设置Java的PATH,如下所示。
root@beaglebone:/etc/init.d# java -version -bash: java: command not found root@beaglebone:/etc/init.d# export PATH=$PATH:/bin/jdk1.7.0_60/bin root@beaglebone:/etc/init.d# export JAVA_HOME=/bin/jdk1.7.0_60 root@beaglebone:/etc/init.d# java -version java version "1.7.0_60" Java(TM) SE Runtime Environment (build 1.7.0_60-b19) Java HotSpot(TM) Client VM (build 24.60-b09, mixed mode) root@beaglebone:/etc/init.d#
我想编写一个脚本来在启动时设置java,然后运行一些java程序。 所以我写了一个脚本“helium_startup.sh”并放在init.d中,脚本如下所示:
export PATH=$PATH:/bin/jdk1.7.0_60/bin export JAVA_HOME=/bin/jdk1.7.0_60
我还没有编写我想在这里运行的程序,但是我想我可以在这两行之后放一行来运行它,对吗? 然后我使用update-rc.d创build链接:
root@beaglebone:/etc/init.d# update-rc.d helium_startup.sh defaults update-rc.d: using dependency based boot sequencing insserv: warning: script 'helium_startup.sh' missing LSB tags and overrides
我相信这个警告不会影响任何事情吗? 我检查了/etc/rc5.d以validation其中一个链接是否已经创build:
root@beaglebone:~# cd /etc/rc5.d root@beaglebone:/etc/rc5.d# ls README S01sudo S03loadcpufreq S04wicd S01boot_scripts.sh S01xrdp S03rsync S05saned S01bootlogs S02apache2 S03ssh S06rc.local S01capemgr.sh S03acpid S03udhcpd S06rmnologin S01hostapd S03cron S04avahi-daemon S01motd S03dbus S04cpufrequtils S01rsyslog S03helium_startup.sh S04lightdm
而且,这些链接似乎是针对每个运行级别进行的。 然后我重新启动Beaglebone(我尝试了通过“重新启动”,拔掉它,并按下电源button),并尝试检查Java的版本:
root@beaglebone:/etc/rc5.d# java -version -bash: java: command not found
它失败了。 我是Debian的新手(通常是Linux),这是我第一次使用BeagleBone Black,我不确定问题是什么。 我也试着把2行设置为java的PATH在/etc/rc.local,并没有工作。
任何帮助将不胜感激。
布兰登
您不能在初始化脚本中永久设置环境变量(PATH)。 适当的地方是/etc/profile.d
的脚本