Что означает !# (удар-фунт) в сценарии оболочки sh/Bash?

Я хочу понять, как работает этот сценарий Scala:

#!/usr/bin/env bash
exec scala "$0" "$@"
!#
object HelloWorld {
    def main(args: Array[String]) {
        println("Hello, world! " + args.toList)
    }   
}
HelloWorld main args

В строке 3, что делает? Подается ли оставшаяся часть файла на стандартный ввод программы Scala? Кроме того, задокументировано ли где-нибудь '!#'?

NB: Самое близкое, что я смог найти, хотя это и не имеет прямого отношения к делу, это вопрос о переполнении стека.Зачем вам нужно ставить #!/bin/bash в начале файла скрипта?(о начале сценария Bash).

14
задан Community 23 May 2017 в 12:26
поделиться