拥有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
我做错了什么?
答案 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" ;;
...
...