view bin/quine2 @ 12046:e37d658a85e2 draft

<oerjan> learn nur "command argument" is a convenience wrapper for invoking user-given commands with the same argument splitting as HackEso\'s top level. (Mnemonic: opposite of `run)
author HackEso <hackeso@esolangs.org>
date Sat, 16 Nov 2019 04:19:47 +0000
parents f2f65a1fa363
children
line wrap: on
line source

#!/bin/sh
a() { p=$(echo -n $(ps -p $1 -oppid | tail -1)); if ps -p $p -ocmd | tail -1 | egrep -q "^sh -c .* \| cat\$"; then ps -p $1 -ocmd | tail -1; else a $p; fi }
q=$(a $$); if echo "$q" | grep -q "^bash -c"; then echo "$q" | sed "s/^bash -c/\`run/"; elif echo "$q" | grep -q "^/bin/sh /hackenv/bin/"; then echo "$q" | sed "s,^/bin/sh /hackenv/bin/,\`,"; else echo \`"$q"; fi