java - 在 macOS BigSur 上的 *.sh 中执行时,导出 JAVA_HOME 无效
问题描述
我有一个包含内容的脚本 j16.sh:
export JAVA_HOME=`/usr/libexec/java_home -v 16.0.1`
echo Java 16
当我在终端(zsh)上运行脚本时,使用
./j16.sh
它打印“Java 16”,但是当我调用“java --version”时,版本没有更改为 16。
但是,当我执行“导出”行(直接在终端上从脚本复制)时,Java 版本会按预期切换。
我究竟做错了什么?显然,在脚本中执行,该行没有效果 - 但 echo-line 有?
解决方案
推荐阅读
- angular - 从列表重定向到 3 个不同的组件
- python - Python中简单迭代函数的并行化
- python - 如何在 Python 中使用 httpx(VS 请求)发出异步 HTTP 请求?
- database - 如何选择数据库管理系统?
- javascript - 使用 sinon 如何以一种方式伪造/存根/模拟不存在的 JS API,而不是 sinon.restore 之后删除它的所有痕迹?
- android - RecyclerView 重新创建 ViewHolder 而不是重新绑定
- python - 如何在 discord.py 中获取服务器所有者名称
- xcode - 如何从 Xcode/Swift 构建中删除“僵尸”框架
- flutter - 颤振:索引超出范围
- python - 图像的形态学操作