如何使用SDKMAN!从脚本中安装包

时间:2017-09-17 09:23:42

标签: bash sdk sh sdkman

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

sdk install java 8u144-zulu

但是,当我尝试在脚本“my-installer.sh”中执行相同的操作时,我收到错误消息:“sdk:command not found”。

my-installer.sh:

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

我做错了什么?

2 个答案:

答案 0 :(得分:4)

你需要在〜/ .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。

希望有所帮助! weHe

答案 1 :(得分:1)

以下是更一般地获取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"  ;;
...
...