【问题标题】:How to know the directory where the current script lies如何知道当前脚本所在的目录
【发布时间】:2018-01-25 15:59:15
【问题描述】:

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

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

【问题讨论】:

    标签: scripting ammonite


    【解决方案1】:

    而不是我通常使用的标准刘海线:

    #!/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) "$@"
    !#
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      • 2012-04-11
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      • 2012-09-06
      相关资源
      最近更新 更多