我正在尝试弄清楚如何让 SSH 在将 shell 传递给我之前运行脚本。这样做的原因是我将登录到许多机器上的共享用户,并且我希望在登录时拥有自己的配置。将我自己的环境变量和别名放入 中是不合适的.cshrc
,尤其是因为我将登录到不同机器上的不同用户的数量。
假设我的脚本包含各种alias
命令,setenv
并且/home/adam/my_script
我希望在登录时调用它。
我尝试过使用:
ssh user@server1 'source /home/adam/my_script; tcsh'
ssh user@server1 '. /home/adam/my_script; tcsh'
还有这个:
ssh user@server1 /home/adam/my_script
ssh user@server1 'csh -c /home/adam/my_script'
当tcsh
(没有 & 符号)位于 的底部my_script
时,没有任何组合能像您预期的那样工作。要么是环境变量和别名不存在,要么是 shell 的行为很奇怪,就像没有行输入提示一样。
我究竟做错了什么?