0

从我机器上的用户,我 ssh 到另一台默认运行 t-shell 的机器上的共享用户。我想创建一个别名,让我以共享用户身份登录到另一台机器,登录到该机器上的cd我的个人文件夹,将 shell 切换为 bash,并获取定义一些额外别名的脚本。我怎样才能做到这一点?

这是我到目前为止所尝试的。从我的机器上运行:

ssh -ty <otheruser>@<otherhost> 'cd <myfolder>; source tsh.personal'

在另一台机器上,我的文件~/<myfolder>/tsh.personal看起来像

#!/bin/tsh
/bin/bash -c 'source ~/<myfolder>/bash.personal'

但是,当我使用 for 选项-cbash,它只是运行命令然后退出,然后与其他机器的连接关闭,因为所有传递给命令的ssh命令都已完成。我也试过~/<myfolder>/tsh.personal

/bin/bash -c 'source ~/<myfolder>/bash.personal; /bin/bash'

它告诉 bash 启动另一个不会退出的 bash 实例。但是,当该实例启动时,就像~/<myfolder>/bash.personal从未获取过信息一样。每当启动新的 bash 实例时,所有别名是否都会重置,或者为什么别名没有传递给新实例?

4

1 回答 1

1

更改tsh.personal

exec /bin/bash --rcfile ~/<myfolder>/bash.personal

不是绝对必要的,但它通过用实例替换实例exec来清理进程表。tshbash

于 2013-03-06T17:50:48.323 回答