I would like to pass a string variable from a Shell Script to my python script and have it stored in sys.argv[1]
.
Currently, this is my situation:
main.sh
TEST="This is a test"
python main.py $TEST
main.py
if __name__ == '__main__':
print(sys.argv[1])
result:
This
How do I send $TEST
so that sys.argv[1] = "This is a test"
?
I don't want to have to reconstruct the String after sending it.
CodePudding user response:
Edit your main.sh to following :
TEST="This is a test"
python main.py "${TEST}"
Variable needs to expanded inside "" and will be transformed into its value.
main.py
if __name__ == '__main__':
print(sys.argv[1])
Result:
This is a test
CodePudding user response:
Just use:
python main.py "$TEST"
CodePudding user response:
Just like this:
import sys
TEST="This is a test"
if __name__ == '__main__':
print(TEST, sys.argv[0])