【发布时间】:2013-11-25 14:44:05
【问题描述】:
众所周知,在终端 shell 中创建别名非常简单:
ZZ:~ zhangzhao$ alias c='uname'
ZZ:~ zhangzhao$ c
Darwin
ZZ:~ zhangzhao$
但现在我想通过 Python3 脚本做同样的事情。我查看了参考手册,发现这些命令工作可以使用subprocess 模块解决。
然后我写下面的脚本:
import subprocess
subprocess.call(["alias", "c=\'uname\'"])
但是注意这个操作不会对你当前使用的shell生效,而是使用一个子shell然后离开。所以这个脚本所做的一切都是徒劳的。
所以我的问题是:如何通过执行python脚本在当前使用的shell中创建别名?
【问题讨论】:
-
简答:你不能。
-
如果您使用此别名在您的 python 脚本中进行更多调用,您可以使 python 变量等于您要创建的别名的字符串,然后使用该变量进行调用。否则,我认为不可能使用 python 脚本创建别名,以便您可以在 shell 中使用它
-
调用Python的shell本身就是另一个shell...
-
好吧,那我可以把
alias c='uname'放入.bash_aliases。那么我可以在更改.bash_aliases后使用任何方法自动source .bash_aliases吗? -
我会把它放到.bashrc中
标签: python bash unix python-3.x command