argv-env-stdio/setup.py

27 lines
650 B
Python
Raw Normal View History

#!/usr/bin/python3
import os, sys
if len(sys.argv) < 3:
print(f"Usage:\n{sys.argv[0]} [dump-file-path] [script-output-path]\n")
exit()
script = rf"""#!/usr/bin/python3
import os, sys
dumpfile_path = '''{sys.argv[1]}'''
dumpfile = open(dumpfile_path, "w")
dumpfile.write(f"argv({{sys.argv}})\n\n")
dumpfile.write(f"{{os.environ}}\n\n")
dumpfile.write(f"stdin: {{os.readlink('/proc/self/fd/0')}}\nstdout: {{os.readlink('/proc/self/fd/1')}}\nstderr: {{os.readlink('/proc/self/fd/2')}}")
dumpfile.close()"""
scriptfile = open(sys.argv[2], "w")
scriptfile.write(script)
scriptfile.close()
os.execvp("chmod", ("chmod", "+x", sys.argv[2]))