登录后运行bash脚本

God*_*a74 5 linux bash ubuntu

我有一个带有一系列选项菜单的bash脚本,该脚本允许用户设置其新系统,这是Ubuntu服务器,没有GUI,只有CLI(它将是虚拟机映像)。

我已经通过编辑/etc/default/grub和来强制进行root登录/etc/init/tty1.conf,因此用户直接放入了root命令提示符。从那里,用户必须输入./whiptail.sh以启动脚本并获得提示信息以进一步设置主机。

现在,我希望我的脚本是登录后显示的内容,而不是将用户拖放到命令提示符下的内容。我怎样才能做到这一点?

hee*_*ayl 6

的所有交互式会话都bash将读取初始化文件~/.bashrc

所以,你可以只添加脚本在的结束root.bashrc,即/root/.bashrc,假设脚本是可执行的:

echo '/path/to/whiptail.sh' >>/root/.bashrc
Run Code Online (Sandbox Code Playgroud)

现在,root打开新的交互式外壳程序时,脚本将始终运行。如果只想在仅登录时运行,而不是所有交互式会话,则应该使用~/.bash_profile/ ~/.bash_login/ ~/.profile(该命令后的第一个可用)。


Dan*_*van 5

如果您希望它是全局的,请将您的脚本添加到

/etc/profile 
Run Code Online (Sandbox Code Playgroud)

如果您希望它是特定用户的,请将您的脚本添加到

/home/$USER/.profile
Run Code Online (Sandbox Code Playgroud)

考虑在此处对原始答案进行投票:https ://unix.stackexchange.com/a/56088/343022