我将以下bash脚本保存为sbt.sh文件夹〜/ Softwares / sbt / sbt.sh:
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
echo $@
java $SBT_OPTS -jar '$1'/sbt-launch.jar "$@"
我试图将我的.bash_profile称为:
source ~/Softwares/sbt/sbt.sh ~/Softwares/sbt/sbt-0.13.11/bin
当我运行终端时,我收到以下错误:
Error: Unable to access jarfile $1/sbt-launch.jar
问题是为什么我没有看到我作为参数传递给bash文件的路径?
编辑:我尝试创建一个别名,如下所示:
alias sbt='sh /Users/joe/Softwares/sbt/sbh.sh'
当我尝试从终端运行sbt时,我得到以下内容:
sh: /Users/joe/Softwares/sbt/sbh.sh: No such file or directory
答案 0 :(得分:0)
如果您将'
移除到1美元左右,则应该正确替换:
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
echo $@
java $SBT_OPTS -jar $1/sbt-launch.jar "$@"
然而,随着上述情况,params传下来了。我想修剪sbt目录的路径,只传入剩下的参数:
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
echo $@
SBT_PATH=$1
shift
java $SBT_OPTS -jar $SBT_PATH/sbt-launch.jar "$@"