我不是linux服务器的root用户,
所以我选择在我的$HOME/local/bin
中安装软件,我已经将$HOME/local/bin
目录添加到PATH环境变量中,在我的.bashrc
中写道。
有些软件安装方式如下:
tar xvzf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure --prefix=$HOME/local
make
make install
cd ..
所以它会直接安装在我的$HOME/local/bin
中。
但对于某些软件,在下载像sbt-1.2.1.zip
(基于java)和解压缩后,只显示文件折叠sbt
,它包含三个foldsbin conf lib
,并在其bin
中,包含一个名为sbt
和java9-rt-export.jar sbt-launch-lib.bash sbt-launch.jar sbt.bat
的可执行文件。
我想知道:
sbt
下软链接这个可执行的$HOME/local/bin
文件路径,然后来源我的.bashrc
?
或者,在解压缩后,在我的.bashrc export PATH="downloadpath/sbt/bin:$PATH"
中添加一行?
由于只有一个可执行的downloadpath/sbt/bin
,所以我不确定添加整个bin折叠路径是否正确,如果软件的bin折叠包含可执行文件(一个或多个),我认为这种情况更方便只需在.bashrc中添加它的bin ,即便如此,我不确定它是对的吗?但是,任何建议甚至一方面的提醒都将不胜感激!
对于预编译软件,或者通常情况下,不提供配置脚本或(C)制作文件的软件,最好将它们保留在目标目录中并使*PATH
(PATH
适应二进制文件,以及LD_LIBRARY_PATH
,LIBRARY_PATH
适应库)和CPATH
包含文件和MANPATH
到手册页)环境变量。
原因是软件可能被配置为读取具有硬编码路径的文件,相对于可执行文件的位置,例如库等。
在您的情况下,您可能还需要使用CLASSPATH
文件将jar
env变量设置到目录。
为了简化软件安装,您可以使用easybuild等可以提供帮助的工具,甚至可以创建用户模块,就像系统管理员安装的系统模块一样。
我对你的设置有点不对劲。如果您的服务器上没有root帐户,那么在更安全的环境中测试您必须测试的内容并不是更好 - 例如您的开发机器上的虚拟机/容器?但是,在您的情况下,通过使用单独的bash脚本而不是修改.bashrc可能更好地启动sbt