Ubuntuベースのディストリビューションでgnuplotスクリプトからbashへのシステムコールを行う
私の質問は、どうすればgnuplotのデフォルトのシェルを変更できますか?stdoutをbashに送信するために変更したい。 これはかなり簡単なはずですが、私はあきらめています。その理由は次のとおりです。 gnuplot ver。を実行しています。4.6 Lubuntu 13.10。のパッチレベル3 私のデフォルトの対話型シェルはbash(Bourne-again shell)であり、Lubuntuのログインシェルはdash(Debian Almquistシェル)のようです。問題ありません。 しかし、gnuplotはbashの代わりにダッシュも使用しています。これは私がgnuplotに尋ねたときに得たものです: gnuplot> system "echo $0" sh そして、シェルに尋ねると: $ which sh /bin/sh $ ls -goh /bin/sh lrwxrwxrwx 1 root root 4 Dec 23 09:30 /bin/sh -> dash 問題のコンテキスト:いくつかのepslatexプロットを生成していますが、それぞれのincludegraphicsパスを変更する必要があります。 これは問題ではないはずです。sedとループが解決できないことは何もありませんが、gnuplotのシステムコールコマンドを使用してsedまたはbashスクリプトを呼び出すことはうまくいきませんでした。最後のファイルの最後の3行は常に欠落しています。ただし、純粋なbashから同じものを実行すると、かなりきれいになります。 また、opossiteを試し、gnuplotスクリプトからgnuplotを呼び出し、gnuplotスクリプトの印刷コマンドを含め、gnuplotのstd出力をbash変数にキャプチャしようとしましたが、どちらも機能しませんでした。たとえば、bashから次の行を試行すると、std出力にメッセージが返されますが、変数には内容が保存されません。 var=$(gnuplot plot.gnu) これがLubuntuの問題なのかgnuplotの問題なのかわかりません。回避策で既にtexファイルの問題を解決しましたが、gnuplotのシェルの問題はまだ気にしています。 だから私はそれを一般的な方法で尋ねています:¿どうすればgnuplotのデフォルトシェルを変更できますか?出来ますか?たぶんそれは他の誰かにとって役に立つかもしれません。;) 2016年8月3日に編集 最初の質問は、システムコールを使用して(systemコマンドを使用して)gnuplotからbashコマンドとスクリプトを実行する方法についてでした。ただし、この質問に対して提案した解決策は、ディストリビューションの元のシステムシェルdashを、知っているシェルbashに変更することでした。 システムシェルをbashに変更すると、システムの全体的なパフォーマンスに影響する場合があります。