登录后运行bash脚本
问题描述:
我有一系列whiptail菜单的bash脚本,允许用户设置他们的新系统,这是Ubuntu服务器,没有GUI,只有CLI(它将成为虚拟机映像) 。登录后运行bash脚本
我已经通过编辑/etc/default/grub
和/etc/init/tty1.conf
强制root登录,所以用户直接丢弃到root命令提示符。从那里用户必须输入./whiptail.sh
才能启动脚本并获取whiptail提示以进一步设置其主机。
现在,我想让我的脚本成为登录后出现的内容,而不是将用户放到命令提示符下。我怎样才能做到这一点?
答
bash
的所有交互式会话将读取初始化文件~/.bashrc
。
所以你可以在root
的.bashrc
即/root/.bashrc
的末尾添加脚本,假设脚本是可执行的:
echo '/path/to/whiptail.sh' >>/root/.bashrc
现在脚本将始终运行时root
打开一个新的交互shell 。如果您只想在仅登录时运行,并非所有交互式会话都应使用~/.bash_profile
/~/.bash_login
/~/.profile
(订单后的第一个)。
将脚本放在'/ root/.bashrc'中 – heemayl
方法简单@heemayl。让它成为答案! – Godzilla74
不要把它放到.bashrc脚本会在每次有人用这个自定义的.bashrc打开一个bash会话时运行,不会为我工作,因为我使用zsh。 – agilob