데이터 조작 세션을 시작할 때마다 두 개의 터미널을 수동으로 열어야 합니다. 하나는 작업용이고 다른 하나는 gnuplot을 실행하여 결과를 보기 위해 플로팅 프로그램을 빠르게 로드할 수 있습니다.
둘 다 동일한 디렉토리 /home/pi/python에서 열리며, 여기에 데이터가 지속적으로 자동으로 기록되어 분석에 사용할 수 있습니다.
입력을 최소화하기 위해 pj라는 스크립트를 생성하고 다음을 포함하는 /usr/sbin(내 $PATH)에 배치했습니다.
#!/bin/bash
cd /home/pi/python
타이핑해서 불러요
. pj (notice the space so when it exits it stays there)
그런 다음 클릭하여 다음 명령이 포함된 gp 스크립트를 실행하는 두 번째 터미널 창을 열어야 합니다.
#!/bin/bash
cd /home/pi/python
gnuplot
나는 이것을 사용하여 전화를 겁니다.
gp
명령 앞에는 점이 없습니다. 결국 명령이 종료될 때 어떤 일이 발생하는지 신경쓰지 않기 때문입니다. 저는 명령을 하루 종일 열어 두는 경향이 있습니다.
bash에서 하나의 명령으로 두 작업을 모두 수행하도록 하는 방법이 있습니까?
질문은 제목에 있습니다. 단일 스크립트에서 두 개의 대화형 터미널 창을 열 수 있습니까?
간단히 말해서, 동일한 하위 디렉터리에 있는 두 개의 터미널 창을 여는 명령이 필요합니다. 하나는 대화형 모드에서 gnuplot을 실행하고 다른 하나는 bash 프롬프트에서 실행합니다.
답변1
다른 터미널 에뮬레이터의 명령줄에서 터미널 에뮬레이터를 호출하면 일반적으로 새 창이 생성된 다음 첫 번째 터미널 에뮬레이터의 명령 프롬프트로 돌아갑니다. 이를 토대로 대략 다음과 같다.
#!/bin/bash
cd python
<whatever-terminal-emulator> --command gnuplot
당신이 원하는 것을 얻을 것입니다 ( --command
옵션에도 불구하고가능한--command
xterm과 같은 매우 간단한 터미널 에뮬레이터를 사용하는 경우에는 상황이 다릅니다 (이 경우 일반적으로 옵션을 생략합니다 ).
답변2
올바른 방향으로 추진해 준 @Austin에게 감사드립니다. 마침내 작동한 스크립트는 다음과 같습니다.
go라고 불리며 내 $PATH(Ubuntu 시스템에서는 /usr/bin, Raspbian 시스템에서는 /usr/sbin)에 있으므로 어디에서나 작동합니다.
#!/bin/bash
cd /home/pi/python
gnome-terminal -e gnuplot &
gnome-terminal &
내가 해야 할 일은 타이핑뿐이었다.
go
필요한 두 개의 창이 열립니다.
흥미롭게도 끝에 종료 줄을 추가해도 원래 터미널이 닫히지는 않지만 괜찮습니다.
이것은 확실히 시간을 절약해 줍니다.