Setting UNIX environment with a Python script
Donn Cave
donn at drizzle.com
Fri Mar 15 01:11:38 EST 2002
More information about the Python-list mailing list
Fri Mar 15 01:11:38 EST 2002
- Previous message (by thread): how to check how many bytes are available to read() ?
- Next message (by thread): Setting UNIX environment with a Python script
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Quoth "James T. Dennis" <jadestar at idiom.com>: | Cameron Hutchison <camh at zip.com.au> wrote: |> On Tue, 12 Mar 2002 13:25:57 +1100, Grant Edwards wrote: ... |>> Another common method is to have your Python program write the shell |>> commands to stdout, then execute them with something like | |>> eval `myPythonProgram` | |> While that would work fine, I dont think it's a terribly good idea. I |> think it would be cleaner to keep the shell syntax in a shell script and |> avoid having the python program assume the scripting environment it is |> returning to. | | Having "myPythonProgram" implemented in ANY language (including | in ANY shell) makes exactly the same assumptions: to wit: | FOO=BAR assigns shell variables and either export (Bourne & family) | or setenv (csh/tcsh) exports them into the environment. | | *ANY* program or script that is intended to be invoked under | eval `....` will have to make those assumptions. Yes, and that's why it's not really an ideal design! I think that's his point - don't write your tools to be invoked in an eval statement, if you don't have to. Or "source", or any solution that requires the tool to know the natural syntax of its invoker. How would we write it instead, to avoid this problem? If there's CPU time to spare, one alternative might be to invoke python separately for each variable, and in that case python can print out just the value for that variable. sh: EX1="`exsetup EX1`" export EX1 rc: EX1 = `{exsetup EX1} ... etc. Donn Cave, donn at drizzle.com
- Previous message (by thread): how to check how many bytes are available to read() ?
- Next message (by thread): Setting UNIX environment with a Python script
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list