每当我切换到某个用户时如何运行脚本?

每当我切换到某个用户时如何运行脚本?

我已将要运行的脚本放在 ~/.bash_login 中,但是当我从另一个用户切换到该用户时,这不起作用。

还有另一个这样的文件吗?还有什么吗?

答案1

这取决于你如何“切换到用户”。该文件在shell 作为登录 shell 启动时.bash_profile使用,否则不使用。bash

因此,如果您使用sudo,则必须确保在切换用户时通过使用其-i标志获得登录 shell:

-i,--login

运行由目标用户的密码数据库条目指定的 shell 作为登录 shell。这意味着shell 将读取特定于登录的资源文件(例如.profile或 ) 。 .login[...]

这意味着

sudo -i -u otheruser

可能会为你工作。

这假设实际上是为用户bash指定的登录 shell 。/etc/passwdotheruser

答案2

将脚本包含在 /home/username/.bashrc 中

测试并运行良好

下面是示例示例

猫.bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
sh /tmp/l.sh =====>[ its a script which is going to execute when you logged in to this user]
fi

# User specific aliases and functions

相关内容