用python脚本创建一个unix别名

时间:2018-03-21 12:01:29

标签: python bash unix

我想让python脚本(.py)创建一个UNIX别名,可以在程序运行后加入。我怎么能这样做?

我试过这个:

#!/usr/bin/python

import os

os.system('alias cdd="cd ~/Desktop/"')

1 个答案:

答案 0 :(得分:3)

alias命令的范围是它运行的shell。当该shell退出并且新的shell启动时,它将不会定义别名。

为shell提供持久定制的方式是使用在shell首次启动时运行的shell脚本。例如,bash将运行.bash_profile.bashrc中的一个或两个,具体取决于它的调用方式和其他本地配置。有关如何处理此问题的所有具体细节,请参阅您感兴趣与之交互的shell的文档。

如果要对shell进行持久配置更改,则需要修改shell的启动脚本。

os.system运行shell并告诉shell运行您提供的命令。然后shell退出。因此,使用alias运行os.system命令基本上无效。

以下是一个示例,说明如何调整bash配置以持久定义别名:

with open(expanduser("~/.bashrc"), "at") as bashrc:
    bashrc.write(
        "\n"
        "# Added by myprogram on somedate\n"
        "alias cdd='cd ~/Desktop/'\n"
    )