我已将要运行的脚本放在 ~/.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/passwd
otheruser
答案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