명령줄에서 프로그램과 상호 작용하는 방법

명령줄에서 프로그램과 상호 작용하는 방법

명령줄에서 직접 프로그램과 상호 작용할 수 있는 방법이 있습니까?

예를 들어, 나는 그것을 그리는 데 사용할 data.o파일을 생성하는 프로그램을 가지고 있습니다 .mydata.outgnuplot

를 사용하여 그리기 프로그램을 열 수 있으며 gnuplot &방금 연 작업/백그라운드 셸 내에서 셸이 특정 방식으로 작성되기를 원합니다 plot mydata.out. ( gnuplot예를 들어, 문제는 종료하지 않고 명령줄에서 열 수 있는 모든 프로그램에서 일부 매크로나 단축키를 실행하는 것과 유사합니다.)

답변1

  • 일부 프로그램(예: gnuplot)은 명령 파일을 허용합니다. 이 파일은 생성하기가 더 쉬우며 인수로 전달될 수 있습니다.

  • 표준 입력으로의 파이프 연결이 작동할 수 있는 상호 작용에 의존하지 않는 프로그램이 있습니다.

    (
        printf "my command\n"
        printf "my other command line\n"
    ) | theProgram and its args
    
  • 다른 것들은 표준 입력이 터미널인 상호 작용 및 명령에 의존하므로 expect터미널이나 이에 상응하는 것을 사용해야 합니다.

답변2

d-bus를 구현하는 프로그램이나 서비스는 명령줄이나 다른 프로세스에서 상호 작용할 수 있습니다.https://developer.gnome.org/gio/2.29/gdbus.htmlGoogle 검색을 통해 프로세스 간 통신에 대한 통찰력을 얻을 수 있습니다.

관련 정보