bash 기능을 실행하여 화면 실행

bash 기능을 실행하여 화면 실행

저는 aws 우분투 인스턴스를 사용하고 있습니다. 화면에서 Python 가상 환경 활성화와 같은 일부 바로 가기를 실행하는 별칭/함수를 만들고 싶습니다.

나는 이 기능을 다음과 같이 만들었습니다.

# Alias for jupyter notebook
function start_jupyter() {
    cd my_path/lab_workspace/  # 1. cd into my workspace
    source labworkspaceenv/bin/activate  # 2. activate my python virtualenv
    screen -S jupyter_lab  # 3. start screen
    echo 'You are in screen for jupyter lab'  # 4. print something
    jupyter lab  # 5. start jupyter lab
}

문제는 를 사용하여 함수를 실행하면 start_jupyter화면을 생성한 후 중지되는 것처럼 보이지만 아무 것도 인쇄되지 않고 jupyterlab이 시작되지 않는다는 것입니다.

내가 뭘 잘못했나요?

답변1

함수가 중지되는 이유는 대화형 화면 세션을 생성했기 때문입니다. 다음을 수행하고 싶을 수도 있습니다.

screen -dmS jupyter_lab jupyter lab

그러면 이름이 지정된 별도의 화면 세션이 생성되고 jupyter_lab그 안에서 명령이 실행됩니다.

screen --help정보 에 따르면 :

-dmS name     Start as daemon: Screen session in detached mode.

따라서 귀하의 기능은 다음과 같습니다.

# Alias for jupyter notebook
function start_jupyter() {
    cd my_path/lab_workspace/  # 1. cd into my workspace
    source labworkspaceenv/bin/activate  # 2. activate my python virtualenv
    screen -dmS jupyter_lab jupyter lab  # 3. start screen    
}

관련 정보