Python Forum

Full Version: Cant pass corect variables to python script in bash script
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi im not familiar with python, I have som strange problem.

I have a bash script for example test.sh:

#!/usr/bin/bash

/usr/bin/python3.4 /home/my/test.py "$1"



If I call script test.py directly from command line as /usr/bin/python3.4 /home/my/test.py "ťčšťčš" it works


If a call script test.sh from commandline: test.sh "ťčšťčš" it not works

if im using only English chars it works in argument.. problem is only with non-English chars.



How to debug this ? Please help..
Im think everythink is Unicode... so bash is Unicode friendly python 3 is too .. I have no idea where is the problem ... sorry for my English..

sorry my mistake... ist a bit complicated...


Runing bash script works...


I wish use that bash script in sieve filter... so sieve passing utf8 encoded variables to bash and bash passint it to python... with only english chars it is ok.. but passing non english is buggy it

please delete this thread
I don't know for bash but it depends on the terminal emulator you are using. If it is not support utf-8, bash can't do anything.
It depends on the encoding used in the bash script file. It should match the one defined in your locale. Issue the "locale" command. It will list several environment variables (the important one is LANG). The last element of these variables (after the dot) is the encoding used by default on your system. Make sure your editor uses it.
Not sure, but I'm guessing the utf is the culprit. Just for chuckles, try copying the file
to one with an ASCII name like 'abc' and see if that will work