コマンドラインでプログラムとやり取りする方法

コマンドラインでプログラムとやり取りする方法

コマンドラインから直接プログラムと対話する方法はありますか?

たとえば、私はそれを描画するために使用する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 検索では、プロセス間通信に関する洞察を得ることができます。

関連情報