【发布时间】:2018-01-25 15:59:15
【问题描述】:
在编写脚本时,我想知道当前脚本在哪里,以便定位其他文件。
对于常规的 Scala 脚本,我知道如何做到这一点,但对于 Ammonite 脚本,我不知道。
【问题讨论】:
在编写脚本时,我想知道当前脚本在哪里,以便定位其他文件。
对于常规的 Scala 脚本,我知道如何做到这一点,但对于 Ammonite 脚本,我不知道。
【问题讨论】:
而不是我通常使用的标准刘海线:
#!/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) "$@"
!#
【讨论】: