将路径参数传递给bash

时间:2016-05-29 07:04:22

标签: linux path sbt

我将以下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

1 个答案:

答案 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 "$@"