2014-12-19 3 views
1
나는 다음과 같은 bash는 스크립트를 사용하고 있는데이 문제의 몇 가지있다

:시작이 xterm을하고 ssh를 자동으로

  1. 두 번째 xterm이 살해되는 첫 번째 때까지 실행하지 않습니다
  2. 나 '
  3. 대신 단순히 $ 출구
  4. 나는 두 xterms을가 나는 서버에 xterm을하고 SSH를 실행 한 후 디렉토리를 변경하려면
  5. 사망 할 때까지 잠겨에서 스크립트를 실행하는 bash는 터미널의 종료와 함께 시작 각각의 xterm을 죽이고 있어요했습니다

    read -s -p "PW? " password 
    
    xterm -bg red -fg yellow -hold -e sshpass -p $password ssh [email protected] 
    
    xterm -bg blue -fg yellow -hold -e sshpass -p $password ssh [email protected] 
    

어떤 도움주시면 감사하겠습니다. 감사. 제공

솔루션은 나를 완벽하게 작동 다음을 만들 수 :

xterm -bg red -fg yellow -e sshpass -p $password ssh -Y -t [email protected] 'cd /home/user/work; $SHELL -i' & 
xterm -bg blue -fg yellow -e sshpass -p $password ssh -Y -t [email protected] 'cd /home/user/work/; $SHELL -i' & 
+1

q4에 대한 자세한 내용이 필요합니다. 원격 셸 세션에서 일부 디렉토리로 이동 한 다음 대화 형 셸에서 계속 하시겠습니까? –

+0

예. 그날 창문을 사용해야 겠어. – user72055

답변

2

질문 (1)과 (3) 백그라운드에서 xterms을을 실행하여 해결됩니다

xterm -bg red -fg yellow -hold -e sshpass -p $password ssh [email protected] & 
xterm -bg blue -fg yellow -hold -e sshpass -p $password ssh [email protected] & 

질문 (4)를 사용하면 expect으로 재미있는 일을 할 수 있지만, xterm 및 sshpass가 아닌 ssh 만 테스트하면됩니다.

SHELL이 -i을 "대화 형 셸"이라고 이해한다고 가정합니다.
ssh에 -t 옵션이 추가되었습니다.

+0

확인되었습니다. 감사. – user72055

+0

참고, 모든 곳에서 암호를 인용해야합니다 :' "$ password"' –

+0

질문 (2)는'-hold'을 제거함으로써 해결 될 것입니다 ... – twalberg