每次我想在学校启动 cad 时,我都会输入这些命令。
ssh -X naum.ad.liu.se
tcsh
source /sw/defaults/dotfiles/.tcsh rc
module load kurs/eks
module load TSEK06
source .TSEK06_rc
cad
尝试 muru 建议的解决方案给了我
source: Too few arguments.
bash: line 1: module: command not found
bash: line 2: module: command not found
.TSEK06_rc: line 2: setenv: command not found
.TSEK06_rc: line 3: setenv: command not found
.TSEK06_rc: line 4: setenv: command not found
.TSEK06_rc: line 5: /cshrc/tcshrc: No such file or directory
bash: line 4: cad: command not found
答案1
一件简单的事情就是在您要 ssh 连接的服务器上创建一个脚本:
将其保存runcad.sh
在服务器上(使用ssh
或类似的方法filezilla
):
#!/bin/tcsh
source /sw/defaults/dotfiles/.tcshrc
module load kurs/eks
module load TSEK06
source .TSEK06_rc
cad
然后使用 使其可执行chmod +x runcad.sh
。
理论上,应该可以:
ssh -X naum.ad.liu.se ./runcad.sh
在您的计算机上,您甚至可以为此创建一个别名:
alias cad="ssh -X naum.ad.liu.se ./runcad.sh"
答案2
这里涉及到三个shell:
您的初始 shell,您可以在其中输入:
ssh -X naum.ad.liu.se
shell 由 SSH 启动,您可以在其中键入:
tcsh
以及您刚刚启动的 tcsh,您可以在其中输入:
source /sw/defaults/dotfiles/.tcsh rc module load kurs/eks module load TSEK06 source .TSEK06_rc cad
如果您将所有这些行转储到脚本中并运行它,您的初始 shell 将运行所有这些行。
如果您只需要启动cad
并且不需要交互式 shell,您可以将其压缩为由初始 shell 运行的单个命令:
ssh -X naum.ad.liu.se tcsh -c 'source /sw/defaults/dotfiles/.tcsh rc
module load kurs/eks
module load TSEK06
source .TSEK06_rc
cad'
并将其放入脚本中。这告诉 SSH 运行tcsh -c '...'
,这告诉 tcsh 将以下部分-c
作为命令运行。