이러한 명령을 모두 입력하는 대신 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

여기에는 세 개의 쉘이 포함됩니다.

  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다음 부분을 명령으로 실행하도록 지시합니다.

관련 정보