重启后Linux环境变量重置

标签 linux bash environment-variables

所以我遇到了这个非常讨厌的问题。

我曾经在我的树莓派上设置了一个 tomcat 服务器。它的版本是 8.0.24。我创建了一个 bash 脚本,它在每次启动时设置变量 $CATALINA_HOME=/home/pi/apache-tomcat-8.0.24。

同时目录是/home/pi/tomcat - 我删除了无用的信息。

我也更改了/etc/init.d/tomcat 中的导出,但没有帮助。 每次重启后,CATALINA_HOME 都会再次设置回/home/pi/apache-tomcat-8.0.24。

有没有办法查看,是哪个脚本设置了环境变量?

我在某个地方告诉 linux 在启动时将路径更改为/home/pi/apache.. ,但我找不到位置。

最佳答案

您可以在一些启动脚本中添加一行来打印 $CATALINA_HOME 的值。尝试添加:

echo "In $0, \$CATALINA_HOME is $CATALINA_HOME"

在调用/etc/bashrc 之前和之后到你的 .bashrc Tomcat 中还有一个名为 setenv.bash 的脚本,用于设置这些类型的变量。也进去看看吧。

关于重启后Linux环境变量重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36270743/

相关文章:

c++ - 调试 linux 源代码时出现错误 : Exception occured while copying sources to remote machine

linux - 如何在没有 "Executing '/sbin/init' 且没有配置文件的情况下在 Ubuntu 14.04 上启动 lxc 容器可能会使主机崩溃”错误

PHP exec fork 一个进程,使其崩溃返回代码仍然为 0

linux - 如何在创建另一个变量的命令中使用变量

c++ - 读取/sys/block/$DEVICE/stat 会导致竞争条件吗?

linux - 当进程运行在 X 服务器上时会发生什么变化

linux - 通过 SSH 配置 iptables 时的奇怪行为

linux - 在 supervisord 脚本中运行命令时未设置环境变量

amazon-web-services - 如何在 .ebextensions 配置中为 crontab 多个环境使用条件 (AWS Elastic Beanstalk)

docker - 在 Dockerfile 或 docker-compose 中定义环境变量?