拥有 SDKMAN!已安装(http://sdkman.io/),我可以从命令行安装软件包,例如:
sdk install java 8u144-zulu
但是,当我尝试从脚本“my-installer.sh”中执行相同操作时,我收到错误消息:“sdk:找不到命令”。
我的安装程序.sh:
#!/bin/bash
sdk install java 8u144-zulu
我究竟做错了什么?
拥有 SDKMAN!已安装(http://sdkman.io/),我可以从命令行安装软件包,例如:
sdk install java 8u144-zulu
但是,当我尝试从脚本“my-installer.sh”中执行相同操作时,我收到错误消息:“sdk:找不到命令”。
我的安装程序.sh:
#!/bin/bash
sdk install java 8u144-zulu
我究竟做错了什么?
您需要在 ~/.sdkman/bin/sdkman-init.sh 中获取资源,例如
#!/bin/bash
. /home/alexw/.sdkman/bin/sdkman-init.sh
sdk install java 8u144-zulu
'sdk' 是在 sdkman-init.sh 中声明的 bash 函数,您的第一行 (#!...) 会启动一个新的 (!) shell。
希望有帮助!微合
以下是sdkman-init.sh
更通用的来源:
source "$HOME/.sdkman/bin/sdkman-init.sh"
这类似于 SDKMAN 添加到您的.zshrc
文件中的代码:
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/Users/powers/.sdkman"
[[ -s "/Users/powers/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/powers/.sdkman/bin/sdkman-init.sh"
which sdk
如果您想查看正在获取的函数,请键入:
sdk () {
COMMAND="$1"
QUALIFIER="$2"
case "$COMMAND" in
(l) COMMAND="list" ;;
(ls) COMMAND="list" ;;
(v) COMMAND="version" ;;
(u) COMMAND="use" ;;
...
...