如何知道当前脚本所在的目录

时间:2017-08-17 09:42:52

标签: scripting ammonite

编写脚本时,我想知道当前脚本的位置,以便找到其他文件。

使用常规Scala脚本,我知道如何操作,但是使用Ammonite脚本我不知道。

1 个答案:

答案 0 :(得分: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) "$@"
!#