如何在sshlogin后在远程服务器上自动定义函数和别名

我想在login时自动在远程shell中定义bash函数和别名。 我不能把这些定义放到.profile或类似的地方,因为我login的用户经常与使用相同系统的其他用户共享,而我无法控制这个。 我想要做的是在远程进程中执行几个bash函数定义,然后继续作为loginshell。 我试过这个,但没有奏效:

cat ~/.profile - | ssh -tt user@host bash -l 

有任何想法吗?

如果您有权限,则还可以修改目标服务器上的.bashrc或.bash_profile以执行“whoami”检查,并且只有在与您的用户名匹配时才运行这些别名和function设置。

就我个人而言,我会selectExpect选项,但如果不是您已经不熟悉Expect,那么这可能是一个非常令人沮丧的练习。