从Python脚本创建别名/修改路径

时间:2014-01-04 07:18:39

标签: python bash terminal zsh

我正在开发一个命令行应用程序,我想在下载应用程序文件后运行setup.py脚本时,为程序永久创建别名(即不仅仅是为此终端会话) 。我遇到的问题是,如果用户正在使用zsh,那么我需要将它添加到.zshrc,但是如果用户使用bash等则会有所不同。是否有标准的方法来执行此操作?

谢谢!

1 个答案:

答案 0 :(得分:0)

蛮力(丑陋)方式:

#!/bin/sh
for user in joe sally bob
do
    cd "/home/$user"
    [ -f .bashrc ] && echo "alias whatever" >>.bashrc
    [ -f .zshrc ] && echo "alias zversion" >>.zshrc
done

更优雅的方法是拥有一个别名的系统文件,例如: /etc/aliases.local,并修改用户的启动文件一次以获取它。另外,将source /etc/aliases.local行添加到/etc/skel中的相应文件中,以便新创建的用户自动获取该行。

或者,更好的是,在许多发行版中,有一个公共文件,/etc/bash.bashrc/etc/bashrc或类似的,在启动时获取。只需在那里进行修改。然后,不需要修改用户的个人启动文件。 (Zsh可能会有类似的东西。)