在一个命令行中从t-shell切换到bash和源文件

在一个命令行中从t-shell切换到bash和源文件,bash,ssh,Bash,Ssh,从我机器上的用户,默认情况下,我通过ssh连接到另一台运行t-shell的机器上的共享用户。我想创建一个别名,将我作为共享用户登录到另一台计算机,cds到该计算机上的我的个人文件夹,将shell切换到bash,并生成一个脚本来定义一些其他别名我如何才能做到这一点? 这就是我到目前为止所尝试的。我在我的机器上运行: ssh -ty <otheruser>@<otherhost> 'cd <myfolder>; source tsh.personal' 它告诉b

从我机器上的用户,默认情况下,我通过ssh连接到另一台运行t-shell的机器上的共享用户。我想创建一个别名,将我作为共享用户登录到另一台计算机,
cd
s到该计算机上的我的个人文件夹,将shell切换到bash,并生成一个脚本来定义一些其他别名我如何才能做到这一点?

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

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

它告诉bash启动另一个不会退出的bash实例。但是,当该实例启动时,它就像
~//bash.personal
从未来源。每当启动新的bash实例时,是否都会重置所有别名,或者为什么不将别名传递给新实例?

tsh.personal
更改为

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

严格来说,
exec
不是必需的,但是它通过将
tsh
实例替换为
bash
实例来清理进程表。

我没有使用tcsh,但您不能将“cd;exec bash”放在.tcshrc文件中吗?然后使用普通的bash startup init文件,如.bash_profile或.bashrc?他不能直接编辑
.bashrc
,因为他是作为另一个用户登录的。根据,
--rcfile
选项将从给定文件而不是从标准的个人初始化文件
~/.bashrc
执行命令。我希望bash执行给定文件以及
~/.bashrc
中的命令。我通过在
bash.personal
文件的顶部添加
source~/.bashrc
解决了这个问题,尽管我个人认为这个解决方案有点糟糕。
/bin/bash -c 'source ~/<myfolder>/bash.personal; /bin/bash'
exec /bin/bash --rcfile ~/<myfolder>/bash.personal