これらのコマンドをすべて入力するのではなく、bashスクリプトを作成することは可能ですか?

これらのコマンドをすべて入力するのではなく、bashスクリプトを作成することは可能ですか?

私は学校で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

これには3つのシェルが含まれます。

  1. 次のように入力する初期シェル:

    ssh -X naum.ad.liu.se
    
  2. シェルはSSHによって開始されます。ここで次のように入力します。

    tcsh
    
  3. 起動したばかりのtcshには、次のように入力できます。

    source /sw/defaults/dotfiles/.tcsh rc
    module load kurs/eks
    module load TSEK06
    source .TSEK06_rc
    cad
    

これらすべての行をスクリプトにダンプして実行すると、初期シェルはすべての行を実行します。

起動のみがcad必要で対話型シェルが必要ない場合は、初期シェルで実行される単一のコマンドに圧縮できます。

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にrunを指示しtcsh -c '...'、tcshに-c次の部分をコマンドとして実行するように指示します。

関連情報