gpt4 book ai didi

bash - 为什么 Scala 使用反向 shebang (!#) 而不是仅仅将解释器设置为 scala

转载 作者:行者123 更新时间:2023-11-29 08:51:50 28 4
gpt4 key购买 nike

scala 文档显示,创建 scala 脚本的方法是这样的:

#!/bin/sh
exec scala "$0" "$@"
!#
/* Script here */

我知道这会使用脚本文件的名称和传递给它的参数执行 scala,并且 scala 命令显然知道读取这样开头的文件并忽略所有直到反向 shebang 的所有内容! #

我的问题是:有什么理由我应该为 scala 脚本使用这种(相当冗长的)格式,而不仅仅是:

#!/bin/env scala
/* Script here */

据我从快速测试中可以看出,它做了完全相同的事情,但不那么冗长。

最佳答案

文档有多旧?通常,在 /bin/env 流行之前推荐这种东西(通常称为“exec hack”),这是获得功能的最佳方式。请注意,/usr/bin/env/bin/env 更常见,应该改用它。

关于bash - 为什么 Scala 使用反向 shebang (!#) 而不是仅仅将解释器设置为 scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29995386/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com