如何使用SDKMAN!从脚本中安装包
How to use SDKMAN! to install packages from within scripts
有SDKMAN!安装(http://sdkman.io/),我可以从命令行安装包,例如:
sdk install java 8u144-zulu
但是,当我尝试从脚本 "my-installer.sh" 中执行相同的操作时,我收到错误消息:"sdk: command not found".
我的-installer.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=""
QUALIFIER=""
case "$COMMAND" in
(l) COMMAND="list" ;;
(ls) COMMAND="list" ;;
(v) COMMAND="version" ;;
(u) COMMAND="use" ;;
...
...
有SDKMAN!安装(http://sdkman.io/),我可以从命令行安装包,例如:
sdk install java 8u144-zulu
但是,当我尝试从脚本 "my-installer.sh" 中执行相同的操作时,我收到错误消息:"sdk: command not found".
我的-installer.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=""
QUALIFIER=""
case "$COMMAND" in
(l) COMMAND="list" ;;
(ls) COMMAND="list" ;;
(v) COMMAND="version" ;;
(u) COMMAND="use" ;;
...
...