#!/bin/bash
# ideone boilerplate: run in temp dir
t=$(mktemp -d -t ideone.XXXXXXXX) || exit
trap 'rm -rf "$t"' ERR EXIT
cd "$t"
cat <<\: >test.sh
#!/bin/sh
printf "%s" "name: " >&2
read -r name
printf "%s" "greeting: ">&2
read -r greeting
printf "%s, %s!\n" "$greeting" "$name"
:
cat <<\: >prog.py
import subprocess
pass1 = "tripleee"
pass2 = "hi"
result = subprocess.run(
["sh", "test.sh"],
input=f"{pass1}\n{pass2}\n",
check=True,
text=True,
capture_output=True)
# stdout = result.stdout
# stderr = result.stderr
print("stderr:", result.stderr)
print("stdout:", result.stdout)
:
python3 prog.py
IyEvYmluL2Jhc2gKIyBpZGVvbmUgYm9pbGVycGxhdGU6IHJ1biBpbiB0ZW1wIGRpciAKdD0kKG1rdGVtcCAtZCAtdCBpZGVvbmUuWFhYWFhYWFgpIHx8IGV4aXQKdHJhcCAncm0gLXJmICIkdCInIEVSUiBFWElUCmNkICIkdCIKCmNhdCA8PFw6ID50ZXN0LnNoCiMhL2Jpbi9zaApwcmludGYgIiVzIiAibmFtZTogIiA+JjIKcmVhZCAtciBuYW1lCnByaW50ZiAiJXMiICJncmVldGluZzogIj4mMgpyZWFkIC1yIGdyZWV0aW5nCnByaW50ZiAiJXMsICVzIVxuIiAiJGdyZWV0aW5nIiAiJG5hbWUiCjoKCmNhdCA8PFw6ID5wcm9nLnB5CmltcG9ydCBzdWJwcm9jZXNzCgpwYXNzMSA9ICJ0cmlwbGVlZSIKcGFzczIgPSAiaGkiCgpyZXN1bHQgPSBzdWJwcm9jZXNzLnJ1bigKICAgIFsic2giLCAidGVzdC5zaCJdLAogICAgaW5wdXQ9ZiJ7cGFzczF9XG57cGFzczJ9XG4iLAogICAgY2hlY2s9VHJ1ZSwKICAgIHRleHQ9VHJ1ZSwKICAgIGNhcHR1cmVfb3V0cHV0PVRydWUpCiMgc3Rkb3V0ID0gcmVzdWx0LnN0ZG91dAojIHN0ZGVyciA9IHJlc3VsdC5zdGRlcnIKcHJpbnQoInN0ZGVycjoiLCByZXN1bHQuc3RkZXJyKQpwcmludCgic3Rkb3V0OiIsIHJlc3VsdC5zdGRvdXQpCjoKCnB5dGhvbjMgcHJvZy5weQo=