如何在 ssh 登录后自动定义远程服务器上的函数和别名

如何在 ssh 登录后自动定义远程服务器上的函数和别名

我想在登录时自动在远程 shell 中定义 bash 函数和别名。我无法将定义放入 .profile 或类似文件中,因为我登录的用户通常与使用相同系统的其他人共享,我无法控制这一点。我想做的是在远程进程中执行一些 bash 函数定义,然后继续作为登录 shell。我试过这个,但没有用:

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

有任何想法吗?

答案1

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

就我个人而言,我会选择 Expect 选项,但如果您还不熟悉 Expect,那么这可能会让您感到非常沮丧。

相关内容