I've tried what's told in How to force /bin/bash interpreter for oneliners
By doing
os.system('GREPDB="my command"')
os.system('/bin/bash -c \'$GREPDB\'')
However no luck, unfortunately I need to run this command with bash and subp isn't an option in this environment, I'm limited to python 2.4. Any suggestions to get me in the right direction?
Both commands are executed in different subshells.
Setting variables in the first
system
call does not affect the secondsystem
call.You need to put two command in one string (combining them with
;
).NOTE You need to use
"$GREPDB"
instead of'$GREPDBS'
. Otherwise it is interpreted literally instead of being expanded.If you can use
subprocess
:I use this:
//OK, ignore this because I have not notice subprocess not considered.
I searched this command for some days and found really working code:
Output:
The solution below still initially invokes a shell, but it switches to bash for the command you are trying to execute:
Is it possible, for you, to change the default shell of the user who starts the application ? You could try to use
chsh
to do it.