コマンドラインから直接プログラムと対話する方法はありますか?
たとえば、私はそれを描画するために使用するdata.o
ファイルを生成するプログラムがあります。mydata.out
gnuplot
を使用して描画プログラムを開き、開い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 検索では、プロセス間通信に関する洞察を得ることができます。