새로 열린 터미널에서 여러 명령을 실행하는 방법은 무엇입니까?

새로 열린 터미널에서 여러 명령을 실행하는 방법은 무엇입니까?

새 터미널을 열고 명령을 입력하는 데 사용하고 싶은 스크립트가 있습니다. 이와 같은 명령

gnome-terminal

새 터미널을 엽니다.

또한 내가 그렇게 한다면

gnome-terminal -e myprogram1

새로 열린 터미널에서 myprogram1이 실행됩니다. 하지만 myprogram1이 완료된 후에 myprogram2를 실행하려면 어떻게 해야 합니까? 나는 같은 것을 할 수 없습니다

gnome-terminal -e myprogram2

새로운 터미널이 열릴 것이기 때문입니다.

동일한 새 터미널에서 둘 다 실행하려는 스크립트를 지정하는 방법이 있습니까 myprogram1? myprogram 2아니면 새 스크립트를 만들고 다음과 같은 작업을 수행해야 합니까?

gnome-terminal -e scriptToExecuteMyPrograms1And2

답변1

다음과 같이 원하는 것을 달성할 수 있습니다.

$ gnome-terminal -e "bash -c '<cmd1>;<cmd2>;exec $SHELL'"

이것이 열리고 <cmd1>, 완료되면 열리고 <cmd2>, 마지막으로 명령 프롬프트로 이동하게 됩니다 exec $SHELL.

예를 들어:

$ gnome-terminal -e "bash -c 'vim;vim;exec $SHELL'"

running 을 실행 vim하고 첫 번째 항목을 닫으면 vim두 번째 항목이 시작됩니다. vim두 번째 항목이 닫히면 터미널 프롬프트가 표시됩니다.

답변2

노력하다 gnome-terminal -e "myprogram1; myprogram2". &&대신 을 사용해 볼 수도 있습니다 ;.

답변3

터미널을 시작한 후 많은 명령을 실행하려는 경우 더 나은 접근 방식은 함수를 작성하고 해당 함수를 내보내고 해당 함수를 호출하는 것입니다. 애플리케이션에 맞게 아래 제공된 것과 유사한 쉘 스크립트를 작성하십시오.

my_function(){
    command1
    command2
    .
    .
    .
    commandn
}

export -f my_function

$(x-terminal-emulator -e "bash -c 'my_function'")

여러 기능을 가질 수도 있습니다. 그러나 그러면 main처럼 동작하는 다른 함수, 즉 다른 모든 함수를 호출하는 함수를 작성해야 합니다. 따라서 이 주요 기능을 실행하도록 터미널을 설정하면 나머지는 알아서 처리됩니다.

답변4

프로그램을 ~/.bashrc파일에 넣을 수 있습니다

이는 다음에 적용됩니다.세게 때리다쉘(사용하는 경우). tty 또는 gnome-terminal을 통해 터미널을 열 때마다 실행됩니다.

기본적으로 파일 끝에 실행하려는 프로그램을 추가하기만 하면 됩니다.

관련 정보