From 5b510c550dcf203521061c626aa1fa9906b82298 Mon Sep 17 00:00:00 2001 From: James Andariese Date: Mon, 17 Oct 2022 10:42:06 -0500 Subject: [PATCH] add script-interpreter --- script-interpreter.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 script-interpreter.nix diff --git a/script-interpreter.nix b/script-interpreter.nix new file mode 100644 index 0000000..f3929ae --- /dev/null +++ b/script-interpreter.nix @@ -0,0 +1,14 @@ +with builtins; + +let file-lines = import ./file-lines.nix; in + +f: ( let n = head (split-filename f); in + let + lines = file-lines f; + firstLine = head lines; + shebangMatch = match ''#! *(.*[/])?(([\][ ]|[^ /])*)( (.*))?'' firstLine; + in + if shebangMatch == null + then rec { interpreter = "sh"; args = "";} + else rec { interpreter = (elemAt shebangMatch 1); args = (elemAt shebangMatch 4);} + )