此问题在此处已有答案:
How to set environment variable in Linux permanently(6个答案)
3天前关闭。
首先,我不是很熟悉Ubuntu操作系统,我是一个Windows的家伙。
为了满足客户的需求,我在Azure Cloud中创建了一个Ubuntu虚拟机(22.04),并开发了一个bash脚本,安装了以下内容:
- Java
- Maven
1.掌舵 - git等
我正在使用https://snapcraft.io/store安装上述工具。
- 问题:*
我无法在环境变量中找到JAVA_HOME和M2_HOME。安装Java & Maven后,Snap似乎没有设置这些变量。
我试图做一个导出,并设置这些变量使用“导出”命令,但没有运气.我不知道为什么,但变量不存在于我的虚拟机.我不擅长bash脚本,所以我被困在这个问题,因为几个星期.
我需要帮助在安装后通过脚本设置JAVA_HOME和M2_HOME变量,而无需任何手动干预。
任何帮助都将是可怕的!提前感谢:)
下面是我的bash脚本:
#!/bin/bash
OC_VERSION="4.5.0-0.okd-2020-07-14-153706-ga"
OC_TAR_NAME="openshift-client-linux-4.5.0-0.okd-2020-07-14-153706-ga.tar.gz"
echo "Installing Tools..."
sudo apt-get update -y
sudo apt-get remove openjdk-11-jre-headless -y
sudo apt-get update -y
echo "Installing java..."
sudo snap install openjdk
export JAVA_HOME=/var/snap/openjdk/current/openjdk.env
export PATH=$JAVA_HOME/bin:$PATH
# source /var/snap/openjdk/current/openjdk.env
echo "Installing maven..."
sudo apt-get install maven -y
echo "Installing helm..."
sudo snap install helm --classic
echo "Installing kubelogin..."
sudo snap install kubelogin
echo "Installing kubectl..."
sudo snap install kubectl --classic
echo "Installing powershell..."
sudo snap install powershell --classic
echo -e "Installing git..."
sudo snap install git-ubuntu --classic
echo -e "Installing postgresql..."
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql
echo -e "Downloading openshift-client..."
sudo wget https://github.com/openshift/okd/releases/download/4.5.0-0.okd-2020-07-14-153706-ga/${OC_TAR_NAME}
echo -e "Extracting openshift-client..."
sudo tar -zxvf ${OC_TAR_NAME} -C /usr/local/bin
# Remove downloaded tar files
sudo rm -f ${OC_TAR_NAME}
# Add environment variable settings to ~/.bashrc
echo 'export JAVA_HOME=/usr/lib/jvm/default-java' >> ~/.bashrc
echo 'export M2_HOME=/usr/bin/maven' >> ~/.bashrc
source ~/.bashrc
字符串
3条答案
按热度按时间dnph8jn41#
尝试将它们添加到/etc/environment或.bashrc以外的任何其他文件中,这是一种奇怪的情况,给予尝试,这里是一个参考
zvms9eto2#
摘要
你定义了
export
脚本在export
中,当终端处于活动状态时,它将加载,错误的原因不清楚你如何调用java --version
命令,但更一般的用法是将变量连接到/etc/profile中。互动
字符串
1.复制你的变量到配置文件示例如下,而不是你的正确路径
型
1.源简档
型
1.尝试该命令
型
非交互
只是用下面的命令代替步骤2,其他的都是一样的
型
然后全局变量已经定义,你可以在任何地方调用命令
lg40wkob3#
@Peng的回答对我和这篇blog文章都有很大的帮助。
我修改了我的导出命令,如下所示,需要重新启动才能使所有这些工作。
字符串
我的整个Bash脚本:
型
terminal_output的
我感谢每个人的贡献谁分享他们的想法,以帮助我解决这个问题。