Sans utiliser le nouveau module de sous-processus 2.6, comment puis-je obtenir os.popen ou os.system pour exécuter mes commandes en utilisant le tcsh au lieu de bash? J'ai besoin de sources de scripts qui sont écrits dans tcsh avant d'exécuter d'autres commandes et je dois le faire dans python2.4.En python 2.4, comment puis-je exécuter des commandes externes avec csh au lieu de bash?
EDIT Merci pour les réponses en utilisant 'tcsh -c', mais je voudrais éviter cela parce que je dois échapper à la folie. La chaîne sera interprétée par bash puis interprétée par tcsh. Je vais devoir faire quelque chose comme:
os.system("tcsh -c '"+re.compile("'").sub(r"""'"'"'""",my_cmd)+"'")
je ne peux pas simplement dire python d'ouvrir un « tcsh » subprocess au lieu d'un sous-processus « bash »? Est-ce possible?
P.S. Je me rends compte que bash est le miaulement du chat, mais je travaille dans un environnement d'entreprise et je vais choisir de pas combattre un tcsh vs bash bataille - plus gros poisson à frire.
Qu'entendez-vous par "source"? – hop
Si vous exécutez une commande comme 'source env_mod.csh', le script modifiera votre shell actuel. Si vous faites 'tcsh -f env_mod.csh', le script shell créera un shell enfant qui héritera des variables d'environnement de votre shell actuel et s'exécutera sans modifier le shell parent. –
Exemple inclut votre fichier ~/.bashrc qui est 'source' lorsque vous démarrez un nouveau shell bash. –