我使用fedora Linux,我手动安装了.net core、java并将路径添加到path
今天,我检查了我的PATH和下面的输出,正如你所看到的,jdk、dotnet和gradle条目都是重复的。有人能告诉我如何解决这个问题吗
/opt/jdk/bin:/opt/jdk/bin:/home/xxx/.local/bin:/home/xxx/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/opt/gradle/bin:/opt/dotnet:/opt/gradle/bin:/opt/dotnet
可读性:
/opt/jdk/bin:
/opt/jdk/bin:
/home/xxx/.local/bin:
/home/xxx/bin:
/usr/local/bin:
/usr/local/sbin:
/usr/bin:
/usr/sbin:
/opt/gradle/bin:
/opt/dotnet:
/opt/gradle/bin:
/opt/dotnet
以下是我添加到.bashrc文件中的条目
# Java path settings
export JAVA_HOME=/opt/jdk
PATH=$JAVA_HOME/bin:$PATH
# gradle building system
PATH=$PATH:/opt/gradle/bin
# Disable dotnet Telemetry
export DOTNET_CLI_TELEMETRY_OPTOUT=1
# Dotnet path settings
export DOTNET_ROOT=/opt/dotnet
PATH=$PATH:$DOTNET_ROOT
export PATH
修改PATH的设置文件的系统部分是/etc/bashrc和/etc/profile,它们都有下面引用的代码。这是重复造成的吗?但是当我读到评论时,/etc/bashrc需要重做,因为/etc/profile 的末尾没有设置pathmunge
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
有人能帮我吗?谢谢B
我有点接受它。
但我通过使用if解决了这个问题,下面是我的解决方案
if ! [[ "$PATH" =~ "$JAVA_HOME/bin:/opt/gradle/bin:$DOTNET_ROOT:" ]]
then
PATH="$JAVA_HOME/bin:/opt/gradle/bin:$DOTNET_ROOT:$PATH"
fi
export PATH