Multiline shebang: Difference between revisions
Content added Content deleted
Line 170: | Line 170: | ||
=={{header|Groovy}}== |
=={{header|Groovy}}== |
||
<lang groovy>#!/bin/bash |
<lang groovy>#!/bin/bash |
||
function trampoline() { |
|||
local interpreter="$1" |
|||
shift |
|||
umask 077 |
|||
tmpdir="$(mktemp -d -t $$.XXXXXXXXXXXXXXXX)" |
|||
tmpfile="${tmpdir}/$(basename $0)" |
|||
sed -e '1,/^!#$/d' "$0" >"${tmpfile}" && "${interpreter}" "${tmpfile}" "${@:1}" |
|||
status=${PIPESTATUS[0]} |
|||
rm -rf "${tmpdir}" |
|||
exit ${status} |
|||
} |
|||
if [ -z "${GROOVY_HOME}" ] |
if [ -z "${GROOVY_HOME}" ] |
||
then |
then |
||
Line 192: | Line 176: | ||
fi |
fi |
||
"${GROOVY_HOME}/bin/groovy" -e "$(sed -e '1,/^!#$/d' $0)" "${@:1}" |
|||
exit |
|||
!# |
!# |
||
println 'aoeu' |
println 'aoeu' |