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