When I did which groovy
, I got the below output:
/usr/local/bin/groovy
So I went ahead and created a helloworld.groovy
with the below content
#!/usr/local/bin/groovy
println "hello world"
After that I did chmod +x helloworld.groovy
and attempted to run the file with ./hellworld.groovy
and sadly, I got this error ./helloworld.groovy: line 2: print: command not found
I could get rid of the error by changing to
#!/usr/bin/env groovy
println "hello world"
Why would the first method cause the error?
#!/bin/sh
sed '1,2d' "$0"|$(which groovy) /dev/stdin; exit;
println("hello");
You need to run the script like this:
groovy helloworld.groovy
Source: Stackoverflow.com