Skip to content

Commit ece7a4d

Browse files
committed
shebangs: fix broken shebangs like #!python
Signed-off-by: botantony <[email protected]>
1 parent b337351 commit ece7a4d

File tree

6 files changed

+11
-3
lines changed

6 files changed

+11
-3
lines changed

Library/Homebrew/language/node.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ module Shebang
9696
module_function
9797

9898
# A regex to match potential shebang permutations.
99-
NODE_SHEBANG_REGEX = %r{^#! ?/usr/bin/(?:env )?node( |$)}
99+
NODE_SHEBANG_REGEX = %r{^#! ?(?:/usr/bin/(?:env )?)?node( |$)}
100100

101101
# The length of the longest shebang matching `SHEBANG_REGEX`.
102102
NODE_SHEBANG_MAX_LENGTH = T.let("#! /usr/bin/env node ".length, Integer)

Library/Homebrew/language/perl.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module Shebang
1515
module_function
1616

1717
# A regex to match potential shebang permutations.
18-
PERL_SHEBANG_REGEX = %r{^#! ?/usr/bin/(?:env )?perl( |$)}
18+
PERL_SHEBANG_REGEX = %r{^#! ?(?:/usr/bin/(?:env )?)?perl( |$)}
1919

2020
# The length of the longest shebang matching `SHEBANG_REGEX`.
2121
PERL_SHEBANG_MAX_LENGTH = T.let("#! /usr/bin/env perl ".length, Integer)

Library/Homebrew/language/python.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ module Shebang
112112
module_function
113113

114114
# A regex to match potential shebang permutations.
115-
PYTHON_SHEBANG_REGEX = %r{^#! ?/usr/bin/(?:env )?python(?:[23](?:\.\d{1,2})?)?( |$)}
115+
PYTHON_SHEBANG_REGEX = %r{^#! ?(?:/usr/bin/(?:env )?)?python(?:[23](?:\.\d{1,2})?)?( |$)}
116116

117117
# The length of the longest shebang matching `SHEBANG_REGEX`.
118118
PYTHON_SHEBANG_MAX_LENGTH = T.let("#! /usr/bin/env pythonx.yyy ".length, Integer)

Library/Homebrew/test/language/node/shebang_spec.rb

+2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#!/usr/bin/env node
3838
a
3939
b
40+
#!node
4041
c
4142
EOS
4243
file.flush
@@ -53,6 +54,7 @@
5354
#!#{HOMEBREW_PREFIX/"opt/node@18/bin/node"}
5455
a
5556
b
57+
#!#{HOMEBREW_PREFIX/"opt/node@18/bin/node"}
5658
c
5759
EOS
5860
end

Library/Homebrew/test/language/perl/shebang_spec.rb

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#!/usr/bin/env perl
3737
a
3838
b
39+
#!perl
3940
c
4041
EOS
4142
file.flush
@@ -52,6 +53,7 @@
5253
#!#{HOMEBREW_PREFIX}/opt/perl/bin/perl
5354
a
5455
b
56+
#!#{HOMEBREW_PREFIX}/opt/perl/bin/perl
5557
c
5658
EOS
5759
end
@@ -70,6 +72,7 @@
7072
#!#{expected_shebang}
7173
a
7274
b
75+
#!#{expected_shebang}
7376
c
7477
EOS
7578
end

Library/Homebrew/test/language/python/shebang_spec.rb

+3
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#!/usr/bin/python2
3838
a
3939
b
40+
#!python
4041
c
4142
EOS
4243
file.flush
@@ -55,6 +56,7 @@
5556
#!#{HOMEBREW_PREFIX}/opt/[email protected]/bin/python3.11
5657
a
5758
b
59+
#!#{HOMEBREW_PREFIX}/opt/[email protected]/bin/python3.11
5860
c
5961
EOS
6062
end
@@ -68,6 +70,7 @@
6870
#!/usr/bin/env python3
6971
a
7072
b
73+
#!/usr/bin/env python3
7174
c
7275
EOS
7376
end

0 commit comments

Comments
 (0)