"konsole -e"를 사용하면 읽기 전용 터미널이 생성됩니다.

"konsole -e"를 사용하면 읽기 전용 터미널이 생성됩니다.

프로그래밍 방식으로 새 터미널을 열고 대화형 세션을 위해 다양한 환경 변수를 설정하는 사용자 정의 스크립트를 자동으로 실행하려고 합니다. 결과 터미널을 편집할 수 없다는 점, 즉 커서가 없다는 점을 제외하면 모두 잘 작동합니다. 내 현재 시도는 다음과 같습니다

konsole -hold -e /path/to/bash/script/run_oenv.sh

다음은 run_oenv.sh다음과 같습니다(간단한 테스트용).

echo hello world
export FOO=bar

위 명령을 실행하면 run_oenv.sh성공적으로 실행되고 새 터미널에 예상되는 디버그 문이 표시되지만 새 터미널을 대화형으로 만드는 방법을 알 수 없습니다. 내가 무엇을 놓치고 있나요?

궁극적으로 bash 스크립트는 환경 변수를 설정하는 것 이상의 작업을 수행해야 하지만 이것이 가장 간단한 테스트 사례입니다.

이것은 Centos 7/KDE에 있습니다.

답변1

-e터미널 에뮬레이터와 함께 사용하여 명령을 실행하면 해당 명령이 실행됩니다.대신에시작했을 쉘의. 이는 스크립트가 실행되고 그 외에는 아무것도 실행되지 않음을 의미합니다.

bash파일을 소스로 하는 대화형 셸을 시작하려면 bash해당 --rcfile명령줄 옵션을 사용하세요.

konsole -hold -e bash --rcfile /path/to/bash/script/run_oenv.sh

참고로 이렇게 하면bash ~ 아니다파일 을 읽으십시오 ~/.bashrc. 대화형 셸 세션에서 일반적으로 발생하는 것처럼 여전히 source 를 원할 경우 코드 ~/.bashrc에서 수행할 수 있습니다 run_oenv.sh.

[ -f "$HOME/.bashrc" ] && source "$HOME/.bashrc"

또는 단락 구문이 없으면

if [ -f "$HOME/.bashrc" ]; then
    source "$HOME/.bashrc"
fi

run_oenv.sh(아마도 파일이 의 모든 변수나 설정을 재정의하도록 하려면 파일 상단에 있을 것입니다 ~/.bashrc)

관련 정보