시작 스크립트의 경우 Ubuntu 시스템에서 여러 터미널 창을 열고 각 창에서 일부 명령을 실행하고 싶습니다. 이러한 명령 중 일부는 파일을 로드해야 합니다. 보통 난 그래
$ source path/to/file.sh
그럼 나한테 전화해
$ MY_COMMAND
그러나 새 콘솔을 열면:
konsole -e "source path/to/file.sh; MY_COMMAND"
"소스"는 실행 파일이 아닙니다.라는 오류가 발생합니다. "소스"는 실제로 쉘에 내장된 것으로 밝혀졌습니다. 하지만 bash에서 직접 외부 터미널을 열 때 동일한 결과를 얻을 수 있는 방법이 있습니까?
매우 감사합니다:)
답변1
다음을 실행하려면 셸을 실행 파일로 전달해야 합니다 konsole
.
konsole -e bash -c 'source path/to/file.sh; MY_COMMAND'
이제 konsole
실행하려는 명령(이 경우 bash
) 을 알았으며 -c
명령이 포함된 옵션이 bash
실행할 명령 입력으로 전달됩니다.