如何编写登录时执行的 shell 脚本?

如何编写登录时执行的 shell 脚本?

我正在尝试在 Ubuntu 11.10 Linux 发行版中编写 bash shell 脚本,该脚本将在登录系统时自动执行。但我无法弄清楚在脚本中写什么,它会在登录时自动执行。

答案1

如果你想让它是全局的,修改

 /etc/profile 

或添加一个脚本

 /etc/profile.d

如果您希望它是特定于用户的,请修改

 ~/.profile

答案2

/etc/profile$HOME/.profile$HOME/.bash_profile

/etc/profile.d/yourscript.sh如果它产生输出,我强烈建议不要使用它。当您使用非交互式会话时,您将收到一条$TERM is not set消息。当使用 ssh 协议(如 scp)时,这一点很明显。通常没什么大不了的,但是,Veeam 不喜欢它并且会发出警告。我知道 Veeam 不是这里的主题,但值得一提的是,并非所有应用程序都会优雅地忽略该$TERM is not set警告。

简而言之,如果脚本生成输出,请将其放置在第一行指定的位置。但是,如果您正在修改环境并且脚本不生成输出,则使用后者。

答案3

如果您想更具体地了解 bash,您还可以在 ~/.bash_profile 或 ~/.bash_login 中编写代码。

您可以在其中获取任何脚本,例如:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

答案4

要在 Ubuntu 11.10 中登录时执行 shell 脚本,您可以将脚本添加到 ~/.bashrc 文件中。每次登录 shell 启动时都会执行此文件,因此每当您登录系统时,都会运行此处添加的任何命令或脚本。要将脚本添加到 ~/.bashrc,请打开终端并通过键入以下内容导航到主目录:cd ~/接下来,使用以下命令在文本编辑器中打开 .bashrc 文件:nano .bashrc打开文件后,导航到末尾文件并添加以下行:/path/to/your/script.sh确保将“/path/to/your/script.sh”替换为脚本的实际路径。另外,请通过运行以下命令确保您的脚本可执行:chmod +x /path/to/your/script.sh保存并关闭文件,下次登录时,您的脚本应该会自动执行。请让我知道这对你有没有用!

相关内容