셸 스크립트 : ssh를 원격 시스템에 연결 한 다음 종료 : 'exit'가 작동하지 않음

마리우스 호 퍼트

다음 유형의 셸 스크립트가 있습니다.

#!/bin/bash

ssh [email protected]
echo "Hi"
exit

원격 서버에서 무언가를하기 위해 로컬로 실행합니다 ( 'echo "Hi"'로 표시). 그러나 실행하면 원격 서버에 프롬프트가 표시되므로 'exit'명령이 실행되지 않습니다. 그런 다음 원격 프롬프트에 'exit'를 수동으로 입력하면 "Connection to myremotemachine.com"이 닫힌 다음 "Hi"가 표시됩니다. 올바르게 종료하고 실행 한 (로컬) 프롬프트를 표시하도록 쉘 스크립트를 어떻게 설정할 수 있습니까?

https://unix.stackexchange.com/questions/89747/ssh-exits-after-quit-case-in-bash-scriptsshssh를 통한 셸 : 종료하는 방법? 다소 관련이있는 것 같지만 거기에 제시된 아이디어를 적용 할 수 없었습니다 ./

최신 정보

다음과 같은 최소한의 버전은 Unmatched '..

#!/bin/bash

date=`date "+%Y-%m-%d"`
rsync -acxzP --delete --link-dest=/u3/mylogin/backup/old_backup /home/mylogin [email protected]:/u3/mylogin/backup/$date\_backup
ssh [email protected] bash -c "'
rm -f /u3/mylogin/backup/old_backup
ln -s $date\_backup /u3/mylogin/backup/old_backup
exit
'"

나는이 코드에서 따옴표를 제거하면, 내가 얻을 : bash: -c: option requires an argumentdate: Undefined variable.

RJ

이것은 당신의 문제를 해결할 것입니다.

ssh [email protected] << HERE
rm -f /u3/mylogin/backup/old_backup
ln -s $date\_backup /u3/mylogin/backup/old_backup
HERE

또는 다음을 수행 할 수 있습니다. 원격 호스트에서 실행하려는 모든 명령을 별도의 스크립트에 넣으십시오. remote.sh와 같은 이름을 지정하십시오.

이제 다음을 실행하십시오.

ssh [email protected] 'bash -s' < /path/to/remote.sh

remote.sh가 포함하는 곳.

rm -f /u3/mylogin/backup/old_backup
ln -s $date\_backup /u3/mylogin/backup/old_backup

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

원격 시스템이 예기치 않게 연결 해제 될 때 원격 시스템에서 SSH 프로세스가 종료되지 않음

분류에서Dev

원격 시스템이 예기치 않게 연결 해제 될 때 원격 시스템에서 SSH 프로세스가 종료되지 않음

분류에서Dev

SSH를 서버에 연결하고 Python 스크립트를 종료합니다 (동일한 셸에서).

분류에서Dev

서버가 원격 시스템에 연결되지 않음 (Linux)

분류에서Dev

SSH가 작동하지 않음 : 원격 호스트에서 연결을 닫았습니다.

분류에서Dev

gpg-agent가 이상하게 작동을 멈춤-원격 시스템의 에이전트가 더 이상 ssh 소켓에 연결하지 않음

분류에서Dev

원격 시스템에서 외부 적으로 SSH가 작동하지 않음

분류에서Dev

가상화 된 Windows 데스크톱에 대한 원격 dekstop 연결이 작동하지 않음

분류에서Dev

가상화 된 Windows 데스크톱에 대한 원격 dekstop 연결이 작동하지 않음

분류에서Dev

ssh를 통해 원격으로 트리거 된 Bash 스크립트가 제대로 작동하지 않음

분류에서Dev

macOS Automator-셸 스크립트가 작동하지 않음

분류에서Dev

cron의 셸 스크립트가 작동하지 않음

분류에서Dev

bash에서 여러 원격 셸 스크립트를 트리거하여 동시에 실행 한 다음 완료 될 때까지 기다리려면 어떻게해야합니까?

분류에서Dev

NAS에 대한 원격 액세스가 작동하지 않음

분류에서Dev

에서 다운로드 한 셸의 스크립트가 실행되지 않음

분류에서Dev

종료 스크립트가 작성된대로 작동하지 않음

분류에서Dev

원격 SSH에서 쉘 스크립트 루핑이 작동하지 않음

분류에서Dev

Ctrl-C가 항상 셸 스크립트를 종료하지는 않습니다.

분류에서Dev

원격 액세스를위한 ssh-keygen이 작동하지 않음

분류에서Dev

동일한 셸에서 여러 연결이 시작된 경우 백그라운드에서 실행중인 SSH 연결이 종료되지 않습니다.

분류에서Dev

전경 스크립트 종료 Powershell : 스크립트가 중단되고 Ctrl + C가 작동하지 않음

분류에서Dev

일련의 원격 시스템에 대한 ssh 연결을 감지하는 스크립트를 작성하는 방법은 무엇입니까?

분류에서Dev

.sh 스크립트를 작성하여 SSH 연결이 있는지 확인한 다음 연결하지 않는 경우

분류에서Dev

다음에 대한 셸 (.sh) 스크립트를 작성하는 방법

분류에서Dev

외부에 연결된 자바 스크립트가 작동하지 않음

분류에서Dev

FTP 셸 스크립트가 작동하지 않습니다.

분류에서Dev

Crontab의 셸 스크립트가 작동하지 않습니다.

분류에서Dev

Python : Tkinter를 사용할 때 스크립트가 종료되지 않음

분류에서Dev

bash에서 셸을 종료하지 않고 스크립트를 종료하거나 하위 셸 내에서 변수를 내보내거나 설정합니다.

Related 관련 기사

  1. 1

    원격 시스템이 예기치 않게 연결 해제 될 때 원격 시스템에서 SSH 프로세스가 종료되지 않음

  2. 2

    원격 시스템이 예기치 않게 연결 해제 될 때 원격 시스템에서 SSH 프로세스가 종료되지 않음

  3. 3

    SSH를 서버에 연결하고 Python 스크립트를 종료합니다 (동일한 셸에서).

  4. 4

    서버가 원격 시스템에 연결되지 않음 (Linux)

  5. 5

    SSH가 작동하지 않음 : 원격 호스트에서 연결을 닫았습니다.

  6. 6

    gpg-agent가 이상하게 작동을 멈춤-원격 시스템의 에이전트가 더 이상 ssh 소켓에 연결하지 않음

  7. 7

    원격 시스템에서 외부 적으로 SSH가 작동하지 않음

  8. 8

    가상화 된 Windows 데스크톱에 대한 원격 dekstop 연결이 작동하지 않음

  9. 9

    가상화 된 Windows 데스크톱에 대한 원격 dekstop 연결이 작동하지 않음

  10. 10

    ssh를 통해 원격으로 트리거 된 Bash 스크립트가 제대로 작동하지 않음

  11. 11

    macOS Automator-셸 스크립트가 작동하지 않음

  12. 12

    cron의 셸 스크립트가 작동하지 않음

  13. 13

    bash에서 여러 원격 셸 스크립트를 트리거하여 동시에 실행 한 다음 완료 될 때까지 기다리려면 어떻게해야합니까?

  14. 14

    NAS에 대한 원격 액세스가 작동하지 않음

  15. 15

    에서 다운로드 한 셸의 스크립트가 실행되지 않음

  16. 16

    종료 스크립트가 작성된대로 작동하지 않음

  17. 17

    원격 SSH에서 쉘 스크립트 루핑이 작동하지 않음

  18. 18

    Ctrl-C가 항상 셸 스크립트를 종료하지는 않습니다.

  19. 19

    원격 액세스를위한 ssh-keygen이 작동하지 않음

  20. 20

    동일한 셸에서 여러 연결이 시작된 경우 백그라운드에서 실행중인 SSH 연결이 종료되지 않습니다.

  21. 21

    전경 스크립트 종료 Powershell : 스크립트가 중단되고 Ctrl + C가 작동하지 않음

  22. 22

    일련의 원격 시스템에 대한 ssh 연결을 감지하는 스크립트를 작성하는 방법은 무엇입니까?

  23. 23

    .sh 스크립트를 작성하여 SSH 연결이 있는지 확인한 다음 연결하지 않는 경우

  24. 24

    다음에 대한 셸 (.sh) 스크립트를 작성하는 방법

  25. 25

    외부에 연결된 자바 스크립트가 작동하지 않음

  26. 26

    FTP 셸 스크립트가 작동하지 않습니다.

  27. 27

    Crontab의 셸 스크립트가 작동하지 않습니다.

  28. 28

    Python : Tkinter를 사용할 때 스크립트가 종료되지 않음

  29. 29

    bash에서 셸을 종료하지 않고 스크립트를 종료하거나 하위 셸 내에서 변수를 내보내거나 설정합니다.

뜨겁다태그

보관