12

拥有 SDKMAN!已安装(http://sdkman.io/),我可以从命令行安装软件包,例如:

sdk install java 8u144-zulu

但是,当我尝试从脚本“my-installer.sh”中执行相同操作时,我收到错误消息:“sdk:找不到命令”。

我的安装程序.sh:

#!/bin/bash
sdk install java 8u144-zulu

我究竟做错了什么?

4

2 回答 2

23

您需要在 ~/.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。

希望有帮助!微合

于 2017-09-29T10:59:55.140 回答
3

以下是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"  ;;
...
...
于 2020-11-09T03:49:16.583 回答