为什么通过 ssh 连接时我无法访问服务器上定义的别名?如何强制终端使用其定义的别名?
答案1
这取决于为用户定义别名的位置以及您实际在本地或通过 SSH 使用的 shell。例如,如果您使用 BASH,请在以下位置定义别名(以及任何其他首选项、导出变量等):
~/.bash_profile
然后,只要您在本地并通过 SSH 使用 bash shell,您的别名就可以发挥作用。
答案2
您应该检查您使用的别名文件对应的 shell。如果您的别名在 .bash_profile 中,但不知何故您在 tcsh 中,您的别名将无法工作,因为它们从未被调用过,即使它们被调用过,它们的格式也可能与您使用的 shell 不符。
这个答案假设你有任何机器上的别名文件都会给您带来麻烦。如果您在一台机器上有一个别名文件,并且当您从该机器 ssh 到另一台没有别名文件的机器时,您会感到沮丧,因为您没有别名:您必须将它们复制过来并在远程机器上使用相应的 shell。ssh 不会将您的别名带到远程机器上。