【问题标题】:zsh complains about java_home.sh:6: not foundzsh 抱怨 java_home.sh:6: not found
【发布时间】:2020-08-29 04:02:18
【问题描述】:

每次我在我的 mac 上启动一个新的终端会话时,我都会收到以下错误消息:

/Users/samerens/opt/anaconda3/etc/conda/activate.d/java_home.sh:6: = not found

我仍然可以在终端中输入命令,一切似乎都正常,但我很好奇这个错误消息的含义以及是否有办法让它消失。我检查了java_home.sh 文件确实存在并且位于指示的目录中,所以我不确定为什么我会收到此错误消息。如果有什么不同,我正在使用 macOS Catalina。

编辑:这是java_home.sh的内容

export CONDA_BACKUP_JAVA_HOME="${JAVA_HOME}"
export JAVA_HOME="${CONDA_PREFIX}"

export CONDA_BACKUP_JAVA_LD_LIBRARY_PATH="${JAVA_LD_LIBRARY_PATH}"

if [ $(uname) == Darwin ]; then
  export JAVA_LD_LIBRARY_PATH="${JAVA_HOME}"/jre/lib/server
else
  if [ $(uname -m) == x86_64 ]; then
    export JAVA_LD_LIBRARY_PATH="${JAVA_HOME}"/jre/lib/amd64/server
  else
    export JAVA_LD_LIBRARY_PATH="${JAVA_HOME}"/jre/lib/i386/server
  fi
fi

【问题讨论】:

  • java_home.sh 的第 6 行是什么?如果问题很短,请在问题中包含整个文件。
  • 我在原问题中添加了java_home.sh的内容。
  • 通过shellcheck.net 运行它并修复它指出的任何问题。应该是几个。
  • 通过 ShellCheck 运行文件并修复了它指出的问题。我添加了一个 shebang 行和引号以防止分词。但是,我仍然收到相同的错误消息。有什么想法吗?

标签: shell terminal zsh


【解决方案1】:
$ [ test == test ] ; echo $? 
zsh: = not found   
$ [ test = test ] ; echo $? 
0

与 bash 不同,zsh 无法识别双等号的相等性测试。
您可以删除两个测试中的一个等号。
(我猜你的 zsh 中需要这些环境变量,所以用 bash 运行它并没有多大帮助。)

如果此脚本由 anaconda install 提供,则可能会报告此错误。

【讨论】:

    猜你喜欢
    • 2012-05-22
    • 2022-12-15
    • 1970-01-01
    • 2010-12-23
    • 2018-01-13
    • 2021-02-23
    • 2021-05-16
    • 1970-01-01
    • 2015-12-30
    相关资源
    最近更新 更多