使用Python脚本包装在Bash-Shell中输入的所有命令

Ing*_*her 11 python linux bash

我想要的是一种机制,我在Bash-Terminal上输入的所有命令都由Python脚本包装.Python脚本执行输入的命令,但它增加了一些额外的魔法(例如设置"动态"环境变量).这有可能吗?

我正在运行Ubuntu和Debian Squeezy.

补充说明:

我有一个动态更改的属性文件(某些脚本会随时更改它).我需要该文件中的属性作为所有shell脚本中的环境变量.当然我可以从shell以某种方式解析属性文件,但我更喜欢使用面向对象的样式(尤其是写入),因为它可以用Python(和ConfigObject)完成.

因此,我想用Python脚本包装所有脚本(无需自己修改脚本),这些脚本处理这些属性到所有Shell脚本.这是我目前的用例,但我可以想象,我会发现其他情况,我可以在以后扩展我的包装.

Ing*_*her 14

将每个键入Bash Shell的命令包装的完美方法是更改PROMPT_COMMAND.bashrc中的变量.例如,如果我想在每个命令之前做一些Python的东西,喜欢在我的问题中询问:

.bashrc中:

# ...
PROMPT_COMMAND="python mycoolscript.py; $PROMPT_COMMAND;"
export $PROMPT_COMMAND
# ...
Run Code Online (Sandbox Code Playgroud)

现在在每个命令mycoolscript.py运行脚本之前.