0

在编写脚本时,我想知道当前脚本在哪里,以便定位其他文件。

使用常规的 Scala 脚本,我知道如何做到这一点,但使用 Ammonite 脚本我不知道。

4

1 回答 1

0

而不是我通常使用的标准爆炸线:

#!/usr/bin/env amm

我将脚本更改为:

#!/bin/bash
    exec amm "$0" `dirname "$0"` "$@"
!#

@main
def main(dir: String) {
    print(dir)
}

dir参数接收脚本所在的路径。它可以是绝对的或相对的。

如果我们总是想要一条绝对路径:

#!/bin/bash
    exec amm "$0" $(cd `dirname "${BASH_SOURCE[0]}"` && pwd) "$@"
!#
于 2017-08-17T09:58:28.120 回答