대부분의 유사한 게시물에서 제안한 대로 사용해 보았지만 '&'
작동하지 않습니다.
@echo off
call variables.bat // contains port numbers and notebook address
ssh user@remote_server "jupyter notebook --no-browser --port=%port_r%" &
ssh -N -f -L localhost:%port_l%:localhost:%port_r% user@remote_server &
start chrome %notebook_address%
@PAUSE
기본적으로 jupyter 노트북을 원격으로 실행하고 연결할 수 있는 두 개의 셸 스크립트가 있습니다. 수동으로 하나씩 실행하고 단일 스크립트로 결합하고 싶습니다.
첫 번째는 원격 서버에서 jupyter 노트북을 실행합니다.
@echo off
call variables.bat // contains port numbers and notebook address
ssh user@remote_server "jupyter notebook --no-browser --port=%port_r%"
@PAUSE
두 번째는 포트 전달을 제공합니다.
@echo off
call variables.bat
ssh -N -f -L localhost:%port_l%:localhost:%port_r% user@remote_server
@PAUSE
이 둘을 어떻게 결합할 수 있나요?
답변1
Windows 명령줄 셸은 Bash가 아닙니다. Cmd.exe(때때로 "배치"라고도 함)입니다.
두 명령을 모두 실행하려면동시에, 그러면 실제로 Bash에 있지만 &
Cmd에는 "배경" 효과가 없습니다. 이는 두 명령을 별도의 줄에 차례로 입력하는 것과 똑같은 작업을 수행합니다.
start
무언가를 병렬로 실행하려면 여기에서도 사용할 수 있습니다 .
@echo off
call variables.bat
start ssh user@remote_server "jupyter notebook --no-browser --port=%port_r%"
start ssh -N -f -L localhost:%port_l%:localhost:%port_r% user@remote_server
start chrome %notebook_address%
pause
두 ssh
연결과 관련하여 왜 하나로 결합할 수 없는지 모르겠습니다(예: 를 사용하는 대신 실제 명령을 호출하고 동시에 전달을 설정하는 것 -N
).
@echo off
call variables.bat
start ssh -f -L localhost:%port_l%:localhost:%port_r% user@remote_server "jupyter notebook --no-browser --port=%port_r%"
start chrome %notebook_address%
pause