【发布时间】:2020-06-10 13:49:48
【问题描述】:
有人能解释一下这个shebang是如何工作的吗?
#!/usr/bin/perl -e$_=$ARGV[0];exec(s/\w+$/python3/r,$_)
我已经看到它在这里发布了两次,但不是来自 Perl,对我来说它看起来很神奇。 我问是因为我想将目录调整为相对于脚本的 python 环境。
即#!../env/bin/python3 到(我只是在这里猜测)#!/usr/bin/perl -e$_=$ARGV[0];exec(s/\w+$/env/bin/python3/r,$_)
编辑:我正在尝试执行一个简单的“Hello world”程序。
#!/usr/bin/perl -e'$_=$ARGV[0];exec(s{\w+$}{exploit-env/bin/python3}r,$_)'
###############################
def main():
print('Hello world')
###############################
if __name__ == '__main__':
main()
【问题讨论】:
-
Shebang 是 Nix 特定的。文件如何命名,同一个 dir 中是否还有其他文件?
标签: python perl virtualenv shebang