Unix 便携式射炮线

Unix 便携式射炮线,unix,scripting,shebang,Unix,Scripting,Shebang,这是我最近写的很多剧本的谢邦台词 硬编码二进制文件的路径似乎会产生一些问题。例如,如果我的一个用户在/something\u else/bin安装了Perl,那么他们必须更改所有的shebang 我已经看到一些工具会自动替换shebang,但我想知道是否有更简单的工具。 对于env不在/usr/bin/env中的奇数嵌入式系统(例如运行funplug等的NAS盒),这可能会起作用。基于 什么是/usr/bin/env在他们系统的其他地方?那么它很可能会在那里以及/usr/bin中。你可以使用“#

这是我最近写的很多剧本的谢邦台词

硬编码二进制文件的路径似乎会产生一些问题。例如,如果我的一个用户在/something\u else/bin安装了Perl,那么他们必须更改所有的shebang

我已经看到一些工具会自动替换shebang,但我想知道是否有更简单的工具。


对于env不在/usr/bin/env中的奇数嵌入式系统(例如运行funplug等的NAS盒),这可能会起作用。基于


什么是/usr/bin/env在他们系统的其他地方?那么它很可能会在那里以及
/usr/bin
中。你可以使用“#!perl”中的“#!env perl”并依赖于设置的路径(但我不喜欢)。@Brenton,对不起,$path不是由#解析的!。啊,真的。。。我知道一定有一个原因,我从来没有见过这样做:)
#!/usr/bin/perl
#!/usr/bin/env perl
#!/bin/sh
exec perl -x -S "$0" "$@"
#!perl
print "hello";